我正在 chrome 扩展中实现 WebSocket。
我在background.js中编写了代码
var websocket;
function createWebSocketConnection() {
if('WebSocket' in window){
websocket = new WebSocket(host);
console.log("======== websocket ===========", websocket);
websocket.onopen = function() {
websocket.send("Hello");
};
websocket.onmessage = function (event) {
var received_msg = JSON.parse(event.data);
var notificationOptions = {
type: "basic",
title: received_msg.title,
message: received_msg.message,
iconUrl: "extension-icon.png"
}
chrome.notifications.create("", notificationOptions);
};
websocket.onclose = function() { alert("==== web socket closed
======"); };
}
当我打开弹出屏幕(index.html)时,该方法createWebSocketConnection()
被调用,这将创建一个 WebSocket 连接。
但是,一旦弹出窗口关闭,就会在屏幕上打印一条消息服务器控制台 that "Web 套接字已关闭.
我有以下问题-
- 我应该在 content.js 中建立 WebSocket 连接吗?
- 每个打开的网页都会有不同的WebSocket吗?
- 有什么方法可以将WebSocket对象保存在background.js中吗?
- 在 Chrome 扩展中实现 Web 套接字的最佳实践是什么?
提前致谢!
Hurray!
我通过修改解决了这个问题manifest.json
{
...
"background": {
...
"persistent": true
},
...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)