Chrome扩展程序 - select2库在控制台中工作但在content.js中没有

时间:2017-06-06 13:06:19

标签: javascript jquery google-chrome

您好我正在使用Google Chrome扩展程序并使用https://select2.github.io解决方法。

这是我的清单:

{
    "manifest_version": 2,

    "name": "Extension Test",
    "description": "Test extension",
    "version": "1.0",
    "content_scripts": [
        {
            "matches": ["https://www.mywebsite.com/*"],
            "js": ["jquery-1.11.3.js", "content.js"]
        }
    ],
    "background": {
        "scripts": ["jquery-1.11.3.js","background.js"]
    },
    "permissions": [
        "activeTab",
        "webNavigation",
        "*://*/*"
    ]
}

以下是我直接进入控制台的内容:

$('#myselect2').select2('open');

然后,内容js中的相同代码无效并触发以下错误:

content.js:151 Uncaught TypeError: $(...).select2 is not a function

是否可以打开从扩展程序到网站内容的选择菜单,如果是这样的话?

2 个答案:

答案 0 :(得分:0)

尝试用

替换
{
    "manifest_version": 2,

    "name": "Extension Test",
    "description": "Test extension",
    "version": "1.0",
    "content_scripts": [
        {
            "matches": ["https://www.mywebsite.com/*"],
            "js": ["jquery-1.11.3.js", "content.js"]
        }
    ],
    "background": {
        "scripts": ["jquery-1.11.3.js","background.js"]
    },
    "permissions": [
        "activeTab",
        "webNavigation",
        "*://*/*"
    ]
}

你错过了一个'''在火柴属性。

答案 1 :(得分:0)

您的扩展程序中似乎没有包含select2插件。将其下载到您的扩展程序中,并在清单中添加:

"js": ["jquery-1.11.3.js", "select2.min.js", "content.js"]