Tôi vừa cập nhật tiện ích mở rộng chrome của mình lên json phiên bản 2 và đang cố gắng làm cho tiện ích của tôi hoạt động trở lại. Vấn đề là sendRequest đã được khấu hao trên đường đi. Vì vậy, tôi sao chép mã từ https://developer.chrome.com/extensions/messaging.html vào tập lệnh của tôi và sửa đổi nó thành tên biến của riêng tôi và nó không hoạt động.Lỗi gửi SendMessage của tiện ích mở rộng của Chrome từ tập lệnh nội dung lên nền html
Vì vậy, sau đó tôi quay lại và đưa vào mã ban đầu và nó vẫn không hoạt động. Tôi đã đọc nhiều câu hỏi tương tự [và hy vọng điều này sẽ không bị đóng lại như một bản sao, vì không có câu hỏi nào giống như tình huống của tôi].
manifest.json:
{
"background": {
"page": "background.html"
},
... ... ...
"content_scripts": [ {
"css": [ "style.css" ],
"js": [ "jq.js", "script.js" ],
"matches": [ "http://*.craigslist.org/*/*.htm*" ]
} ],
... ... ...
"permissions": [ "tabs", "http://*.craigslist.org/*/*.htm*" ],
"manifest_version": 2,
"update_url": "http://clients2.google.com/service/update2/crx",
"version": "3.0"
}
background.html:
<html>
<script type='text/javascript'>
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"});
});
});
</script>
</html>
script.js:
chrome.runtime.sendMessage({greeting: "hello"}, function(response) {
console.log(response.farewell);
});
Bây giờ tôi ru na trang [trên craigslist], và đi đến Console và đây là lỗi:
Port error: Could not establish connection. Receiving end does not exist.
TypeError: Cannot read property 'farewell' of undefined
at chrome-extension://dhmjefbokfkjpdbigkadjpgjeflchgea/script.js:9:23
tôi sử dụng Chrome Beta trên Ubuntu 12.10 64-bit (Google Chrome: 27.0.1453.15 (Official Build 191.758) beta)
Bạn cần phải di chuyển mã nội tuyến vào một tập tin bên ngoài. Câu hỏi này đã được hỏi trước, và một câu trả lời chi tiết được cung cấp. –
có thể trùng lặp với [Lỗi cổng trong khi thay đổi tiện ích chrome từ tệp kê khai thành v1 thành v2] (http://stackoverflow.com/questions/11913575/port-error-while-changing-chrome-extension-from-manifest-v1-to- v2) –