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
}