如何在Greasemonkey中使用javascript重定向某些页面?

时间:2010-07-02 20:31:06

标签: javascript firefox greasemonkey

嘿,我想在完成加载后重定向页面......

例如,当google.com完成加载时,我想发送一个javascript来搜索某些内容......

我该怎么做?

3 个答案:

答案 0 :(得分:7)

这就是我如何重定向:

//==UserScript==
// @name Redirect Google
// @namespace whatever.whatever...
// @description Redirect Google to Yahoo!
// @include http://www.google.com
// @include http://www.google.com/*
// @include http://*.google.com/*
//==/UserScript==
window.location = "http://www.yahoo.com"

......当然要取代谷歌和雅虎!带有其他内容的网址。你不需要任何外部库(jQuery)或类似的东西。

推荐这一点,因为它更多的是对最终用户的帮助而不是帮助,但这取决于脚本的功能。

答案 1 :(得分:4)

如果要以后退按钮忘记当前页面的方式重定向用户,请使用window.location.replace(url),否则如果您使用window.location = url,则当用户按下后退按钮时,用户脚本将再次启动并将它们推回到他们刚才所在的页面。

答案 2 :(得分:4)

这种方法是迄今为止我发现的最灵活的方法。在单个脚本中指定多个重定向很容易:

// ==UserScript==
// @name       Redirector
// @namespace  http://use.i.E.your.homepage/
// @version    0.1
// @description  enter something useful
// @match      http://*/*
// @copyright  2012+, You
// @run-at document-start
// ==/UserScript==

//Any page on youtube.com is automatically redirected to google.com - you can use this
//function to redirect from any page to any other page.
redirectToPage("http://www.youtube.com/", "http://www.google.com");
//You can put several of these redirects in a single script!
redirectToPage("en.wikipedia.org", "http://www.stackoverflow.com");


function redirectToPage(page1, page2){
if(window.location.href.indexOf(page1) != -1){
    window.location.href = page2;
}
}