内容脚本jQuery动态包括破碎?

时间:2015-12-01 04:59:14

标签: javascript jquery json google-chrome-extension content-script

我不希望通过在清单

中列出jQuery来在每个页面上包含jQuery

在控制台中,这很好用,但我不能在内容脚本中动态包含jQuery

不知道为什么

  
      
  1. 将这两个文件放在一个文件夹(content.js和manifest.json)
  2. 中   
  3. 转到omnibox(网址栏)
  4. 中的chrome:extensions   
  5. 加载未打包的扩展程序
  6.   
  7. 选择文件夹
  8.   
  9. 转到任意页面,CMD + Shift + R重新加载不带缓存
  10.   

查看控制台并查看jQuery未定义

content.js

if (document.readyState === "complete") {
    appendJQuery();
} else {
    document.addEventListener("DOMContentLoaded", appendJQuery);
} function appendJQuery () {
    var jq = document.createElement("script");
    window.document.querySelector("head").appendChild(jq);
    jq.onload = function () {
        console.log(typeof $); // $ is not defined ?????
    }
    jq.src = "https://code.jquery.com/jquery-2.1.1.min.js";
}

的manifest.json

{
    "manifest_version": 2,
    "name": "Sample",
    "short_name": "Sample",
    "version": "1.1",
    "permissions": ["tabs", "http://*/*, https://*/*", "*://*/*", "<all_urls>"],
    "content_scripts": [{
        "matches": ["*://*/*", "http://*/*", "https://*/*", "file://*/*"],
        "js": ["content.js"],
        "run_at": "document_start"
    }]
}

然后jQuery未定义......... wtf ???有谁知道为什么??

0 个答案:

没有答案