2013-01-22 101 views
0

這裏是我的清單:爲什麼我的Chrome擴展清單不允許jQuery?

{ 
    "name": "test.", 
    "version": "1.0", 
    "permissions": [ 
    "tabs", "http://*/*", "https://*/*" 
    ], 
    "content_scripts": [ 
    {  
    "js": ["jquery.js"] 
    } 
], 
    "browser_action": { 
     "default_title": "Set this page's color.", 
     "default_icon": "icon.png", 
    "default_popup": "popup.html" 
    }, 
    "manifest_version": 2 
} 

和我popup.js

function click(e) { 
    chrome.tabs.executeScript(null, 
    {code:"$('img').css('display','none'); 
    window.close(); 
} 

document.addEventListener('DOMContentLoaded', function() { 
... 
    } 
}); 

但由於某些原因 我得到的錯誤

未捕獲的ReferenceError:$沒有定義

爲什麼?

回答

0

問題在你的代碼

  • 有沒有在你的清單匹配模式,所以jQuery的沒跑在任何地方\注入,所以$jQuery關鍵字是不確定的。

解決方案

修改您的清單,包括網址,jQuery是被注入(不要忘了申報爲URL的許可(或多個)。

"content_scripts": [ 
    { 
     "matches": ["http://www.google.com/*"] 
     "js": ["jquery.js", "myscript.js"] 
    } 
    ], 

上述注入的jQuery的谷歌網頁,使用<all_urls>在所有網站注入。

參考