1

我試圖將jQuery添加到我的瀏覽器擴展程序,無法jQuery的文件添加到Chrome擴展

,這裏是我的manifest.json

{ 
"name": "OSpy", 
"description": "", 
"version": "1", 
"manifest_version": 2, 
"background":{ 
    "scripts":["background.js"] 
}, 

    "js": ["js/jquery-1.10.2.min.js"] 


"browser_action": { 
"default_title": "Object Spy" 
}, 


"permissions":["tabs","<all_urls>"], 

"web_accessible_resources": [ 
    "img/bt.png" 
    "js/jquery-1.10.2.min.js" 
] 

} 

問題是,它是給予,

Uncaught ReferenceError: $ is not defined 
+0

試試這個:http://stackoverflow.com/questions/4947510/load-jquery-into-a-chrome-extension – Falaque

回答

0

顯然,你的擴展主要使用後臺頁面,這是你需要jQuery的地方。在這種情況下,你可以簡單地添加的jQuery JavaScript文件中的後臺腳本列表:

{ 
    "name": "OSpy", 
    "description": "", 
    "version": "1", 
    "manifest_version": 2, 
    "background":{ 
    "scripts":["js/jquery-1.10.2.min.js", "background.js"] 
    }, 
    "browser_action": { 
    "default_title": "Object Spy" 
    }, 
    "permissions":["tabs","<all_urls>"] 
} 

記得把jQuery腳本之前,你的實際背景腳本!

下面是一個簡單的例子。假設您有一個擴展名,可以將Ajax請求從其背景頁面發送到本地html文件,並將響應輸出到控制檯。

manifest.json的:

{ 
    "name": "Local Request", 
    "description": "Send Ajax request using jQuery", 
    "version": "2.0", 
    "background": { 
    "scripts": ["js/jquery-1.10.2.min.js", "background.js"], 
    "persistent": false 
    }, 
    "browser_action": { 
    "default_title": "Send Request" 
    }, 
    "manifest_version": 2 
} 

background.js:

chrome.browserAction.onClicked.addListener(function(tab) { 
    $.get("ajax/test.html", function(data) { 
    console.log(data); 
    }); 
}); 

做同樣的步驟,您的內容腳本使用jQuery。以下是在官方文檔中執行此操作的示例:http://developer.chrome.com/extensions/content_scripts.html"js": ["jquery.js", "myscript.js"])。

相關問題