2012-07-04 26 views
21

Kiểm tra ra this sample extension nối với nhau bằng một trang trong Chrome Extension center, tôi thấy họ đã sử dụngChrome Extensions - onRequest/sendRequest vs onMessage/SendMessage

chrome.extension.onRequest.addListener(onRequest); 

trong trang background.js để lắng nghe những contentscript.js và

chrome.extension.sendRequest({}, function(response) {}); 

trong contentcript.js để nói chuyện với trang background.js.

Nhưng tôi không thể tìm thấy tài liệu cho các chức năng này bất cứ nơi nào trong các trang web và Google Message Passing guide chỉ đề cập đến

chrome.extension.sendMessage(...) 

để gửi, và

chrome.extension.onMessage.addListener(...) 

để lắng nghe.

Tôi nên sử dụng các chức năng nào? SendRequest/onRequest có lỗi thời không? Hướng dẫn phát triển của Google có được cập nhật không?

Trả lời

20

Dường sendMessage được ưa chuộng trên sendRequest, mà là để được chấp nhận: http://codereview.chromium.org/9965005/

+0

Cuối cùng bị xóa khỏi chrome-21. – qMax

+3

Cảm ơn. Tôi muốn google đề cập rằng .. alas stackoverflow để giải cứu một lần nữa! – snapfractalpop

+0

Tôi nhận thấy đây có thể là trường hợp. Rất tiếc, cuộc gọi API không còn được sử dụng này vẫn được sử dụng trong ví dụ "tải xuống" của tiện ích mở rộng chrome. – Jazzepi

7

Cũng lưu ý sự thay đổi trong con đường API từ

  • chrome.extension.onRequest
  • chrome.extension. sendRequest

to

  • chrome.runtime.onMessage
  • chrome.runtime.sendMessage

sẽ giúp bạn tiết kiệm nhận được thất vọng hơn tại sao ví dụ chrome.extension.onMessage không hoạt động!

Các vấn đề liên quan