jQuery无法在Chrome扩展程序中使用

时间:2012-01-05 15:57:13

标签: jquery google-chrome-extension

此代码是在我提出的另一个问题中提供给我的,但我在开始时遇到错误。以下是导致问题的代码部分:

// @require     http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
// @require     https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js
// @resource    jqUI_CSS http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/base/jquery-ui.css
// ==/UserScript==

var cssResource = GM_getResourceText("jqUI_CSS");
GM_addStyle(cssResource);

$("#pickMe").datepicker();

我得到的第一个错误是“GM_getResourceText未定义”

如果我注释掉,那么下一行,那么我得到的下一个错误是 “没有定义未捕获的referenceerror $。”我在最后一行得到了。

这就像剧本没有从谷歌获得jQuery的东西。

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:4)

在Chrome中,“用户脚本”是扩展程序。使用外部库的最简单方法是通过manifest file配置代码。

下载jquery.min.jsjquery-ui.min.jsjquery-ui.css,并将它们放在同一目录中。 通过将所有url(...)替换为url(http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/base/...)来确保您解析图像的路径(CSS)。

创建manifest.json文件,并添加以下内容:

{
    "name": "Name of your extension.",
    "version": "1.0",
    "manifest_version": 2,
    "content_scripts": [{
        "js": [
               "jquery.min.js",
               "jquery-ui.min.js",
               "mycode.js"
              ],
        "css": [ "jquery-ui.css" ],
        "matches": [ "http://similarto-at-include-in-greasemonkey.com/*" ],
        "run_at": "document_end"
    }]
}

创建名为mycode.js的文件(或任何所需名称),并添加以下内容:

$("#pickMe").datepicker();

您可以通过chrome://extensions/开发者模式加载或打包您的扩展程序。