İçerik komut dosyasına ve arka plan komut dosyasına sahip bir Chrome eklentisi yazıyorum ve iki iletişim kurmaya çalışıyorum. Benim İçerik komut olarak chrome.runtime.sendMessage beklendiği gibi çalışmaz
, benchrome.runtime.sendMessage({greeting: "hello"}, function(response) {
console.log(response.farewell);
});
ve benim arka plan komut
yapıyorum, böylechrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
console.log(sender.tab ?
"from a content script:" + sender.tab.url :
"from the extension");
if (request.greeting == "hello")
sendResponse({farewell: "goodbye"});
}
);
Benim apaçık görünüyor
yapıyorum:{
"manifest_version": 2,
"name": "Tesing Phase",
"version": "1.0",
"background": {
"persistent": false,
"scripts": ["bgscript.js"]
},
"content_scripts": [{
"js": ["contentscript.js"],
"all_frames": true,
"run_at" : "document_start",
"matches": ["*://*/*"]
}],
"web_accessible_resources": ["script.js"]
}
zaman I Eklentimi çalıştır, aşağıdaki hatayı alıyorum:
Uncaught TypeError: Object #<Object> has no method 'sendMessage'
chrome.runtime
günlüğünü kaydetmeyi denedim ve sendMessage
yönteminin hiçbir yöntemi yoktu. Ubuntu'daki 25.0 sürümünde Chromium kullanıyorum. Ben de sendRequest
kullanmayı denedim, ancak amortismana tabi tutuldu ve sendMessage
kullanılmalıdır dedi.
Burada neyim eksik olduğumu işaret edebilir mi? Bunun çalışması için gerekli izinler var mı? 25 chrome.extension.sendMessage
kullanmak - Chrome'a 20 ile uyumlu olan bir uzantı yazmak istiyorsanız
Teşekkür:
chrome.runtime
nesne üzerinde yöntemleri, aşağıdaki yaklaşımı yerine kullanabilirsiniz k bu bilgi google chrome dev sayfalarında eksik. –bu harika görünüyor, ancak bu metodoloji 31'e kadar krom versiyonları için hala geçerli mi? ya da adapte edilmeli mi? ve eski kullanımdan kaldırılan iletme yöntemlerinin tümüyle son sürüm chrome – user280109
@ user280109'dan kaldırılıp kaldırılmadığını herkes bilmiyor mu? Ayrıca, herhangi bir uyumluluk katmanı olmadan da chrome.runtime.' işlevini kullanabilmenize rağmen, Google'ın otomatik güncellemesi sayesinde hiç kimse Chrome 25'i kullanmıyor. –