如何在页面开始加载之前将参数附加到URL?

时间:2012-09-17 16:26:54

标签: javascript jquery google-chrome google-chrome-extension

在Chrome中,我希望在页面中检测到网址将位于example.com的域中,如果是,则在加载之前,将foo=bar作为参数附加并加载代替。

我发现我可以在Omnibar submitted here时访问,但似乎无论如何它都会加载原始网址,而且正常它的带宽是带宽的两倍我觉得很有必要。当它只有一个页面时,这不是一个问题,但它是一个需要在网站的每个页面上发生的变化,因此带宽加倍肯定会成为一个问题。

目前,它可以检测网址是否为example.com并已提交,然后调用window.stop(),然后将location.href设置为example.com/&?foo=bar,但不会看起来很理想。

简而言之,用户转到http://www.example.com,然后在加载原始链接之前,脚本会将其更改为http://www.example.com/&?foo=bar

2 个答案:

答案 0 :(得分:2)

查看chrome.webRequest API,特别是以下方法:

  

onBeforeRequest(可选择同步)

     

即将发生请求时触发。此事件在建立任何TCP连接之前发送,可用于取消或重定向请求。

答案 1 :(得分:0)

您可以使用

window.location.search = "foo=bar"

可能会有所帮助。