Greasemonkey脚本修改URL不起作用?

时间:2016-03-14 19:35:30

标签: greasemonkey

我刚尝试制作这个剧本:

// ==UserScript==
// @name           Link Bypasser Script
// @include *http://onion.com/*
// @run-at      document-start
// ==/UserScript==

var oldUrl  = window.location;

var newURL  = "http://localhost:8887/processor.php?link=" + oldUrl;
window.location.replace (newURL);

我" inlcude"更多的网址,但我认为无论如何,我认为这个脚本会被转换,例如,http://onion.com/4GUTDTA转换为http://localhost:8887/processor.php?link=http://onion.com/4GUTDTA,但没有任何反应:

在此之前我尝试过:

var oldUrlPath  = window.location.path;

使用:

+ "http://localhost:8887/processor.php?link=" + oldUrlPath

然而,它修改了它,但它只在路径之前添加了该链接,这是有道理的,因为我使用了window.location.path。我也尝试过使用

 var oldUrl  = window.location.href;

没有做任何事。

2 个答案:

答案 0 :(得分:1)

var oldUrl  = window.location.href;
var newURL  =  "http://localhost:8887/processor.php?link=" + oldUrl

window.location.replace (newURL);

答案 1 :(得分:0)

在将字符串附加到网址之前,您应该使用encodeURIComponent对字符串进行编码:

var oldUrl  = window.location.href;
var newURL  = "http://localhost:8887/processor.php?link=" 
              + encodeURIComponent(oldUrl);
window.location.replace (newURL);