我想将网址重定向到其他网址。例如,如果我输入:
google.com
然后按Enter键,它应该将我重定向到:
yahoo.com
I was at a previous thread and found a code for this,但不幸的是,它适用于所有我不想要的网址。此外,一旦重定向完成(在yahoo.com上),页面将重新加载,无休止地循环。
编辑:当前代码:
// ==UserScript==
// @name Google to Yahoo
// @description Redirects Google to Yahoo
// @include http://*.google.*/*
// @version 1
// ==/UserScript==
if(content.document.location == "http://google.com"){
window.location.replace("http://yahoo.com")
}
答案 0 :(得分:6)
您发布的脚本只是转发用户,它从不检查用户正在加载的页面。由于Greasemonkey是Javascript,您可以使用获取当前页面的URL并进行比较。
使用
获取网址var current_location = content.document.location;
然后比较它。我想它会是这样的:
if(content.document.location == "http://google.com"){
window.location.replace("http://yahoo.com")
}
修改的
继续Shoaib所说的,你可以在Greasemonkey脚本中使用include指令。所以,在顶部,你会把
// @include http://*.google.*/*
这将在每个页面上的每个国家/地区的每个Google子域中运行脚本,而不是其他任何国家/地区。
编辑2
使用命名空间指令可以实现:
// ==UserScript==
// @name Redirect Google
// @namespace http://domain.com/directory
// @description Redirect Google to Yahoo!
// @include http://*.google.*/*
// ==/UserScript==
window.location.replace("http://yahoo.com");