Chrome扩展-实现通道
Chrome Extension - Implementing Channels
我正在尝试用我的后端服务器实现一个通道,该服务器运行在谷歌应用程序引擎(Python)上,我不确定如何为Chrome编写前端代码。我找到了一些代码,但无法进行测试,因为我正在等待我的合作伙伴编写后端代码。我想知道我是否正确地实现了这一点。
我也不明白代码是怎么触发的?是什么触发了这个频道的创建?
//The code I found which is placed in background.html:
chrome.extension.onRequest.addListener (function(request, sender, sendResponse) {
var channel = new goog.appengine.Channel(channelToken);
var socket = channel.open()
socket.onopen = function() {
// Do stuff right after opening a channel
}
socket.onmessage = function(evt) {
// Do more cool stuff when a channel message comes in
}
});
只要后台页面收到来自扩展的另一部分(例如,内容脚本)的请求,您编写的代码就会打开一个通道。
您可能希望在加载扩展后立即打开通道,并且仅在那时打开。要做到这一点,只需打开background.html JS中的套接字,它在页面加载时运行。
例如:
var channel = new goog.appengine.Channel(channelToken);
var socket = channel.open()
socket.onopen = function() {
// Do stuff right after opening a channel
}
socket.onmessage = function(evt) {
// Do more cool stuff when a channel message comes in
}
(不带onRequest.addListener()包装器)
相关文章:
- 如何使用动画实现纸张推车
- 客户端服务器REST API captcha实现
- 如何实现此布局
- Meteor忘记了密码的实现
- 使用Native Sockets在Android中实现WebSockets
- 在样板文件中实现Ajax
- instanceof是如何在JavaScript中实现的
- 如何正确实现Jquery多选小部件
- 实现一个建立在google.com之上的自定义搜索引擎
- 多个组件是如何实现的
- window.location使用jquery mobile实现chrome跳转
- 如何在OpenERP中实现网络摄像头
- Node.js使用Series函数(模式?)实现流控制时出现意外结果
- javascript加密实现,包括可信否认
- 实现比较方法的最佳实践是什么;s的比较类型是在运行时选择的
- 如何让程序员在javascript中实现正确的回调
- 如何使用自定义辅助对象(handler)实现嵌套的每个循环
- 如何使用RGB或HSL显示HWB/HSB/CMYK通道
- AngularJS智能表全局配置实现
- Chrome扩展-实现通道