मैं सामग्री स्क्रिप्ट और पृष्ठभूमि स्क्रिप्ट के साथ क्रोम प्लगइन लिख रहा हूं, और मैं दो संवाद करने की कोशिश कर रहा हूं।chrome.runtime.sendMessage अपेक्षित काम नहीं कर रहा है
मेरी सामग्री स्क्रिप्ट में, मैं
chrome.runtime.sendMessage({greeting: "hello"}, function(response) {
console.log(response.farewell);
});
और मेरी पृष्ठभूमि लिपि में कर रहा हूँ, मैं इस तरह
chrome.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"});
}
);
मेरे प्रकट दिखता कर रहा हूँ:
{
"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"]
}
जब मैं मेरी प्लगइन चलाएं, मुझे निम्न त्रुटि मिलती है:
Uncaught TypeError: Object #<Object> has no method 'sendMessage'
मैंने chrome.runtime
लॉगिंग करने का प्रयास किया, और sendMessage
कोई विधि नहीं थी। मैं उबंटू पर क्रोमियम के संस्करण 25.0 का उपयोग कर रहा हूं। मैंने sendRequest
का उपयोग करने की कोशिश की, लेकिन यह कहा गया कि यह अवमूल्यन है और sendMessage
का उपयोग किया जाना चाहिए।
क्या कोई मुझे बता सकता है कि मैं यहां क्या खो रहा हूं? क्या इसके लिए काम करने के लिए कोई अनुमति की आवश्यकता है?
धन्यवाद एक lot.It chrome.extension.I पतली का उपयोग कर काम किया:
chrome.runtime
वस्तु पर तरीकों, आप निम्नलिखित दृष्टिकोण बजाय उपयोग कर सकते हैं k यह जानकारी Google क्रोम देव पृष्ठों में अनुपलब्ध है। –यह बहुत अच्छा लग रहा है, लेकिन क्या यह पद्धति अभी भी 31 तक क्रोम संस्करणों के लिए मान्य है? या इसे अनुकूलित करने की आवश्यकता होगी? और क्या किसी को पता है कि पुराने बहिष्कृत संदेश पास करने के तरीकों को क्रोम – user280109
@ user280109 के नवीनतम संस्करण से पूरी तरह से हटा दिया गया है, यह अभी भी मान्य है। यद्यपि आप किसी भी संगतता परतों के बिना 'chrome.runtime.' का उपयोग भी कर सकते हैं, क्योंकि शायद ही कोई भी क्रोम 25 का उपयोग करता है- Google के ऑटो-अपडेटर के लिए और भी धन्यवाद। –