当我在 Google Chrome 扩展的 contentscript.js 文件中使用 WebSocket 对象时遇到问题。它仅对 facebook.com 主页产生错误。Err.Message 给了我未定义的价值。我不知道为什么它只在 facebook.com 上给出错误。以下行产生错误
var ws = new WebSocket("ws://localhost:3345/");
下面是代码片段contentscript.js
:
/////////////////////SendMessage/////////////////////// <br/>
//Description: We are creating websocket(Chrome API). <br/>
/////////////////////////////////////////////////////// <br/>
function SendMessage(message) {
try {
if ("WebSocket" in window) {
//creating websocket(Chrome API)
//Below code line produces error on facebook.com
var ws = new WebSocket("ws://localhost:3345/");
//Hook function against ws.onmessage event.
ws.onmessage = function (evt) {
OnMessage(evt);
};
ws.onopen = function () {
ws.send( message););
};
}
}
catch (err) { alert("Err->" + err.Message); }
}
这是 mainfest.json 代码
{
"name" : "myextension",
"version" : "1.1",
"description" : "me extension detail",
"background" : {
"scripts": ["background.js"]
},
"content_scripts" : [
{
"matches" : [
"http://*/*",
"https://*/*"
],
"js" : ["contentscript.js"],
"run_at" : "document_end",
"all_frames" : true
}
],
"permissions": [
"tabs", "<all_urls>",
"*://*.facebook.com/",
"*://www.facebook.com/"
],
"content_security_policy": "script-src https://www.facebook.com 'self'; object-src 'self'; connect-src https://www.facebook.com",
"manifest_version": 2
}