Tag: 谷歌 铬 应用

如何在Chrome应用中加入jQuery?

我需要在Chrome应用中访问一些jQuery方法,但我不确定如何包含API。 我是前端开发的新手,我基本上都在寻找某种.h #include与我通常用更多类C语言做的平行。 在我的manifest.json中,我尝试添加一个下载的jQuery版本的路径: { “name”: “my first app”, “manifest_version”: 2, “version”: “0.0.1”, “minimum_chrome_version”: “36.0.1941.0”, “app”: { “background”: { “scripts”: [ “./assets/js/main.js”, “./assets/third-party/js/jquery-2.1.1.js”] } } } 在我的main.js文件中: chrome.app.runtime.onLaunched.addListener(function() { chrome.app.window.create( “index.html”, { innerBounds: {width: 800, height: 510, minWidth: 800} }); }); 在我的index.js中,我没有任何width()方法的可见性: (function() { var ui = { update: null, }; var initializeWindow = function() […]

如何在运行脚本之前等待页面完成加载所有内容或如何最好地检测主要DOM更改

我正在使用此处描述的方法替换扩展(排序)作为替换文本的基础。 这是重要的代码 var elements = document.getElementsByTagName(‘*’); for (var i = 0; i < elements.length; i++) { var element = elements[i]; for (var j = 0; j < element.childNodes.length; j++) { var node = element.childNodes[j]; if (node.nodeType === 3) { var text = node.nodeValue; var replacedText = text.replace(/[word or phrase to replace here]/gi, '[new word or […]

在chrome扩展中使用什么而不是window.location.href?

嗨,我正在尝试创建一个chrome扩展,为了使我的应用程序扩展我遵循这一步骤, 1.转到chrome选项 – >更多工具 – >扩展。 2.我在该窗口中选择了开发者模式。 3.我选择了解压缩的扩展,然后选择了我的应用程序。 4.我点击了包扩展。 在我的应用程序中,我有几个html页面,CSS,JS和清单文件以及background.js。 清单文件 { “name”: “…”, “description”: “……..”, “manifest_version”: 2, “minimum_chrome_version”: “23”, “version”: “0.1.1”, “offline_enabled”: true, “icons”: { “16”: “sample.png” }, “permissions”: [ “storage”,”tabs”,””,”webview” ], “app”: { “background”: { “scripts”: [“background.js”] } } } background.js chrome.app.runtime.onLaunched.addListener(function() { chrome.app.window.create(‘login.html’, { id: ‘main’, bounds: { width: 1024, height: 768 […]

Chrome打包的应用程序无法使用jquery和jquery mobile

使用jQuery 1.10.2和jQuery Mobile 1.3.2我试图使用以下简单的html创建一个chrome打包应用程序… 有两个问题。 第一个是jQuery将拦截脚本标记加载events.js并调用xhr.open(s.type,s.url,s.async); 但是s.async是假的。 Chrome打包应用不允许同步加载。 所以在jQuery中这行之前我设置了s.async = true; 下一个问题是jquery将在第一个文档插入时在每个脚本上调用它的globalEval方法,这会调用eval,它会使用chrome打包应用程序产生此CSP错误: 未捕获的EvalError:拒绝将字符串评估为JavaScript,因为’unsafe-eval’不是以下内容安全策略指令中允许的脚本源:“default-src’self’chrome-extension-resource:”。 一个解决方案可能是沙盒(在清单中添加html页面)但是这会导致另一个问题:XMLHttpRequest无法加载chrome-extension://ocnbknafegfhcgbiciegbfndjckamkoj/events.html。 Access-Control-Allow-Origin不允许使用null。 服务器有“Access-Control-Allow-Origin”,“*”所以我不希望这个错误。 那么,第一个同步错误是jquery问题吗? 第二个问题还是jquery / chrome打包应用程序不匹配? CSP有解决方法吗? 有没有办法沙箱但允许页面之间的导航?

chrome MutationObserver用于新段落文本

我还没有真正理解如何使用mutationObserver但我现在看起来有些正确……我想在代码中出现新的p标签时做一个动作..这是我的代码到目前为止: var target = $(‘p’); var observer = new WebKitMutationObserver(function(mutations) { mutations.forEach(function(mutation) { chrome.storage.sync.get({ getInjection: true }, function(getInject) { var getInjectionState = getInject.getInjection; if(getInjectionState == true) { arrayOfP = $(“p”).text(); chrome.runtime.sendMessage(arrayOfP, manageResponse); } }); }); }); observer.observe(target[0], { attributes: true, childList: true, characterData: true }); 此代码位于chrome扩展程序的内容脚本中。 为什么不工作? 任何帮助,将不胜感激。 谢谢!