Sni*_*har 3 url redirect greasemonkey
我想将URL重定向到其他URL.例如,如果我输入:
google.com
Run Code Online (Sandbox Code Playgroud)
并按Enter键,它应该重定向到:
yahoo.com
Run Code Online (Sandbox Code Playgroud)
我在上一个帖子中找到了一个代码,但不幸的是,它适用于所有URL,我不想要.此外,一旦重定向完成(在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")
}
Run Code Online (Sandbox Code Playgroud)
您发布的脚本只是转发用户,它从不检查用户正在加载的页面.由于Greasemonkey是Javascript,您可以使用获取当前页面的URL并进行比较.
获取URL
var current_location = content.document.location;
Run Code Online (Sandbox Code Playgroud)
然后比较一下.我想它会是这样的:
if(content.document.location == "http://google.com"){
window.location.replace("http://yahoo.com")
}
Run Code Online (Sandbox Code Playgroud)
编辑
根据Shoaib的说法,您可以在Greasemonkey脚本中使用include指令.所以,在顶部你会放
// @include http://*.google.*/*
Run Code Online (Sandbox Code Playgroud)
这将在每个页面上的每个国家/地区的每个Google子域中运行脚本,而不是其他任何页面.
编辑2
使用namespace指令可以实现:
// ==UserScript==
// @name Redirect Google
// @namespace http://domain.com/directory
// @description Redirect Google to Yahoo!
// @include http://*.google.*/*
// ==/UserScript==
window.location.replace("http://yahoo.com");
Run Code Online (Sandbox Code Playgroud)