我正在尝试使用chrome的webRequest将变量添加到网址。 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"
],
浏览器和服务器之间是否有往返行程,所以服务器在实际显示之前将网址送回扩展程序?如果是这样,我将如何构建匹配查询以识别变量何时已存在?
答案 0 :(得分:1)
这应该有效:
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.
不漂亮,但有效。