當我console.log(chrome)
谷歌Chrome瀏覽器我得到某些屬性,但我發現鉻的'運行時'屬性不可用。chrome.runtime是從鉻商店安裝擴展時未定義
app: Object
csi: function() { native function GetCSI(); return GetCSI();}
loadTimes: function() { native function GetLoadTimes(); return GetLoadTimes();}
webstore: Object
__proto__: Object
__defineGetter__: function __defineGetter__() { [native code] }
__defineSetter__: function __defineSetter__() { [native code] }
__lookupGetter__: function __lookupGetter__() { [native code] }
__lookupSetter__: function __lookupSetter__() { [native code] }
constructor: function Object() { [native code] }
hasOwnProperty: function hasOwnProperty() { [native code] }
isPrototypeOf: function isPrototypeOf() { [native code] }
propertyIsEnumerable: function propertyIsEnumerable() { [native code] }
toLocaleString: function toLocaleString() { [native code] }
toString: function toString() { [native code] }
valueOf: function valueOf() { [native code] }
get __proto__: function __proto__() { [native code] }
set __proto__: function __proto__()
so chrome.runtime is undefined。
,因此我不能夠使用chrome.runtime.sendMessage我的擴展
如何解決上述??
編輯:
我的代碼是:
if(typeof(chrome) === 'undefined'){
result.isChromeBrowser = false;
return next(result);
} else {
result.isChromeBrowser = true;
}
console.log(chrome.runtime); // undefined
//check whether the chrome runtime is available or not ...
if(!chrome.runtime){
result.isChromeRuntimeAvailable = false;
console.log(result);
} else {
result.isChromeRuntimeAvailable = true;
}
編輯2:
從這裏:https://developer.chrome.com/extensions/manifest/externally_connectable.html。 我相信(通過上面的鏈接,如果我錯了,請糾正我)網頁可以與Chrome擴展進行通信。但是當從chrome存儲庫安裝擴展程序時無法完成,但是在從本地目錄安裝擴展程序的情況下完美工作。
我提供externallyConnectable爲:
"externally_connectable": {
"matches": [
"*://local.mywebsite.com/*"
]
}
我已經包括了externally_connectable與「匹配」屬性。現在當我加載解壓目錄下安裝擴展,我的網頁獲取chrome.runtime ..但是當我安裝擴展從鉻商店,相同的瀏覽器網頁不會得到chrome.runtime ..爲什麼這樣? 最後我還是沒有chrome.runtime的頁面://local.mywebsite.com/。 幫我一把。
您使用的是分機的控制檯或者你是否還在爲網頁背景? – 1337holiday
來自頁面上下文。 – codeofnode
在控制檯,你會看到'<頁面上下文>'下拉,更改您的分機'鉻擴展:<分機號>',然後運行chrome.runtime。要找到你的擴展ID去'工具> Extensions' – 1337holiday