Po përpiqem të bëj një shtesë kromi. Skripti im i sfondit aktivizohet me shtypjen e një butoni në UI. Ai duhet të dërgojë një mesazh në skriptin tim të përmbajtjes, i cili do të dërgojë një përgjigje përsëri në skenarin e sfondit. Nuk mund ta kuptoj se si duhet të funksionojë kjo. Dëgjuesi i klikimeve po ndez, por mesazhet nuk funksionojnë. Ja çfarë kam marrë deri tani:
Skript i sfondit:
$(document).on('click', '#getGlobalFuncsBtn', function(){
chrome.extension.sendMessage({text:"getStuff"},function(reponse){
if(reponse.type == "test"){
console.log('test received');
}
});
console.log('click listener');
});
Skript i përmbajtjes:
chrome.extension.onMessage.addListener(function(message,sender,sendResponse){
if(message.text == "getStuff"){
console.log('test sent');
sendResponse({type:"test"});
}
});
HTML kërcyese:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<button id="getGlobalFuncsBtn">Get Global Funcs</button>
<script src="jquery-2.0.2.min.js"></script>
<script src="background.js"></script>
</body>
</html>
manifest.json:
{
"manifest_version": 2,
"name": "Var Viewer",
"description": "This extension allows you to view and change all user defined js global vars.",
"version": "1.1",
"permissions": [
"storage"
],
"content_scripts": [
{
"matches": ["http://*/*", "https://*/*"],
"js": ["jquery-2.0.2.min.js","content.js"]
}
],
"web_accessible_resources": [
"jquery-2.0.2.min.js"
],
"background": {
"scripts": ["background.js"],
"persistent": true
},
"browser_action": {
"default_icon": "icon.png",
"default_popup": "pop.html",
"default_title": "Var Viewer"
}
}
Content script
në fakt po funksionon veçmas nga shtesa. Është më afër kodit të skedave sesa skedarët shtesë, kështu që ju duhet të ringarkoni shtesën në mënyrë që të detyroni të zbatohen ndryshimet e koditcontent script
. 05.01.2014