![](/img/trans.png)
[英]Chrome extension How to remove a Listener on chrome.webRequest.onBeforeRequest
[英]chrome.webRequest.onBeforeRequest firing more than once?
我正在尝试使用chrome的webRequest将变量添加到url的实验。 javascript非常简单。
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
var url = details.url + '?tag=test';
return {redirectUrl: url};
},
{urls: ["<all_urls>"]},
["blocking"]);
但是,当我将其应用于任何域时,至少会得到该变量的两倍结果。 当我使用直接导航在cnn.com上进行测试时,实际上将变量附加了4次。
这是清单的相关片段。
"permissions": [
"webRequest", "*://*.letags.com/*", "webRequestBlocking"
],
浏览器和服务器之间是否发生往返,因此服务器在实际显示之前将URL反馈给扩展名? 如果是这样,我将如何构造一个匹配查询以识别变量何时已存在?
这应该工作:
var url = details.url + (/\?tag=/.test(details.url) ? "" : "?tag=test");
// Explained if details.url contains the text "?tag=" -> don't add Parameter
// Else if it doesn't contain the Parameter -> add it.
不是很漂亮,但是很管用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.