在Chrome扩展程序内容脚本中使用现有的jQuery?

时间:2016-04-30 16:04:24

标签: javascript jquery google-chrome google-chrome-extension sendmessage

我发现的一切似乎都涉及注入jQuery,但我知道jQuery已经存在于页面上(浏览器JS控制台允许我使用它)。

我有一个后台脚本,它正在向我的内容脚本发送一条消息,该脚本正在运行该函数。当该函数执行时,我得到:

  

runtime.onMessage的事件处理程序出错:ReferenceError:jQuery   未定义

(我已尝试过$和jQuery引用)

为什么我无法从内容脚本访问现有的jquery对象?

1 个答案:

答案 0 :(得分:2)

这是因为不允许按设计设计内容脚本来访问页面

定义的变量/函数
  

https://developer.chrome.com/extensions/content_scripts

     

但是,内容脚本有一些限制。他们不能:

     
      
  • 使用chrome。* API,但以下情况除外:      
        
    • 扩展名(getURL,inIncognitoContext,lastError,onRequest,sendRequest)
    •   
    • I18N
    •   
    • 运行时(connect,getManifest,getURL,id,onConnect,onMessage,sendMessage)
    •   
    • 存储
    •   
  •   
  • 使用其扩展程序页面定义的变量或函数
  •   
  • 使用由网页或其他内容脚本定义的变量或函数
  •   

因此,如果您希望使用某个库,您的扩展程序必须将其注入