将jQuery加载到chrome扩展中
我正在尝试进入Chrome扩展程序的神奇世界。 现在我已经构建了我的清单,试图加载jquery。
{ "name": "Test Extension", "version": "0.1", "manifest_version": 2, "description": "First try", "options_page": "options.html", "content_scripts": [{ "matches": ["chrome-extension://*/*"], "js": ["jquery.js", "popup.js"], "run_at": "document_end" }], "browser_action": { "default_icon": "icon.png", "default_popup": "popup.html", "default_title": "Click me!" } }
实际上尝试重新加载扩展名告诉我“匹配”与有效架构不匹配。
但这不是全部。 为了克服它,我尝试将“匹配”值更改为*://*/*
并重新加载。 好吧,扩展似乎正确加载但似乎没有加载jquery由于我可以从popup.js得到的错误,只是告诉我
未捕获的ReferenceError:$未定义
实际上HTML只是:
Test Extension
popup.js代码就是这样做的:
$("#test").html("Foo!");
内容脚本永远不会在扩展的上下文中运行。 在浏览器操作弹出窗口中加载脚本的正确方法是将其包含在代码中。 让你的清单文件是:
{ "name": "Test Extension", "version": "0.1", "manifest_version": 2, "options_page": "options.html", "browser_action": { "default_icon": "icon.png", "default_popup": "popup.html", "default_title": "Click me!" } }
和popup.html
:
...
$.("#test").html("Foo!");
应该
$("#test").html("Foo!");
您获得的错误与此部分代码不正确一致。