1
是否有可能在webRequest的urls參數中有多個目標。怎麼樣?是否有可能在webRequest目標中有多個URL
這是一個沒有工作,給了我這個錯誤的例子:
The webRequest.addListener filter doesn't overlap with host permissions.
**** ****修訂:
這是示例代碼main.js
:
myArray=["yahoo.com", "google.co.uk"];
patterns=[];
for (var x=0; x<myArray.length; x++)
{
var aURL="\"https://*."+myArray[x]+"/*\""
patterns.push(aURL);
}//end for
console.log("the array: "+patterns);
function logURL(requestDetails)
{
console.log("inside logURL");
console.log("*******************************");
console.log("Loading: " + requestDetails.url);
console.log("*******************************");
}//end logUTL
browser.webRequest.onBeforeRequest.addListener(
logURL,
{urls: patterns,
types: ["main_frame"]}
);
這是清單:
{
"manifest_version": 2,
"name": "test",
"version": "1.0",
"description": "",
"background": {
"scripts": ["main.js"]
},
"icons": {
"64": "icons/myicon.png"
},
"permissions":[
"<all_urls>",
"activeTab",
"tabs",
"activeTab",
"webRequest"
]
}
我更新了代碼。還是行不通。我收到我在帖子中提到的錯誤。偵聽器不接受具有多個URL的數組。我檢查了MDN,並找不到具有多個URL的任何示例。 – user6875880
那麼,那是因爲你添加了生成無效url的代碼。一個URL不應該包含引號。我也建議你使用array.map()而不是for循環。 – Forivin
我更新了我的答案中的代碼,向您展示瞭如何使用array.map實現與for循環(但不帶無效引號)一樣的事情。 – Forivin