使用JavaScript将文本添加到url的开头

时间:2017-10-09 17:18:01

标签: javascript regex url bookmarklet

我正在尝试制作书签。它应该测试url是否包含某个单词,如果没有,它将对其进行编码并在url的开头添加一些文本。到目前为止,我已经想出了如何测试这个词。我正在使用的代码如下:

if (document.location.href.indexOf('math') === -1){ 
    alert("Math detected");
}

我想对这样的网址进行编码:如果它检测到的网址为http://www.coolmath-games.com/,则应将其重定向到tunneler.pw/index.php?q=http%3A%2F%2Fwww.coolmath-games.com%2F。理想情况下,它不会使用正则表达式,但如果确实如此,它就不是一件大事。

如果它没有检测到这个词,它就不应该做任何事情。


编辑:如果有人好奇,这里的代码转换为bookmarklet形式。

javascript:void%20function(){-1===document.location.href.indexOf(%22math%22)%26%26alert(%22Math%20detected%22)}();

1 个答案:

答案 0 :(得分:1)

试试这个:

if (document.location.href.indexOf('blocked') === -1){ 
    document.location.href = "http://tunneler.pw/index.php?q=" + encodeURIComponent(document.location.href);
}

encodeUriComponent将转义该网址,因此您可以在其他网址的查询字符串中使用它。