【发布时间】:2018-03-20 23:27:30
【问题描述】:
我正在尝试制作一个书签。它应该测试 url 是否包含某个单词,如果没有,它将对其进行编码并在 url 的开头添加一些文本。到目前为止,我已经弄清楚了如何测试这个词。我使用的代码如下:
if (document.location.href.indexOf('math') === -1){
alert("Math detected");
}
我想像这样对 url 进行编码:如果它检测到的 url 是这样的,http://www.coolmath-games.com/ 它应该重定向到tunneler.pw/index.php?q=http%3A%2F%2Fwww.coolmath-games.com%2F。理想情况下,它不会使用正则表达式,但如果使用也没什么大不了的。
如果它没有检测到这个词,它就不应该做任何事情。
编辑:如果有人好奇,这里是转换为书签形式的代码。
javascript:void%20function(){-1===document.location.href.indexOf(%22math%22)%26%26alert(%22Math%20detected%22)}();
【问题讨论】:
-
你可以使用encodeURIComponent这个
-
是的,我试过了,我想我可以让它工作,但我遇到真正麻烦的部分是将文本添加到转换后的 url 的开头。
-
其实我没有理解你想编码 url 并使用查询字符串 oarama 进行 redict 吗?
-
如果
math必须是域的一部分,则必须在 url 的域部分中匹配它。就像^(?:https?://)?([^/?]*?math[^/?]*?)(?=/|$)替换为tunneler.pw/index.php?q=http%3A%2F%2F$1%2F
标签: javascript regex url bookmarklet