我想创建一个基本上改变页面URL的tampermonkey脚本。我想要做的是查看网址中是否包含“youtube.com”,如果没有,则应将/youtube.com添加到网址。
这方面的一个例子是:
首发网站:www.website.com/watch8dzjad8
更改后的网站:www.website.com/youtube.com/watch8dzjad8
如果它有帮助那么脚本意味着在tampermonkey中完成,那么在特定网站上它将扫描链接并添加/youtube.com如果它找不到它,因为它不会否则,这将帮助我不要每天复制和粘贴/youtube.com 10次,以及学习如何在JavaScript中使用URL。提前致谢
答案 0 :(得分:0)
if( !location.host.match(/youtube.com/) )
location= "/youtube.com"+ location.pathname
但是,您应该将此行为限制在特定网站上,而不仅仅是非youtube的所有网域,例如:
if( location.href.match(/website.com\/watch/) )
location= "/youtube.com"+ location.pathname
<强>说明强>
location.href.match(/website.com/watch /)
location.href 是页面的完整网址(http://www.website.com/watch8dzjad8)
匹配测试字符串是否遵循给定的模式
location =“/ youtube.com”+ location.pathname
因此,如果访问过的网页的网址(http://www.website.com/watch8dzjad8)包含字符串“website.com/watch”,则打开“/youtube.com”+“/ watch8dzjad8”。
由于域名相同,相对URL就足够了,浏览器知道该域名与当前页面相同。
https://developer.mozilla.org/en-US/docs/Web/API/Window/location https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match
答案 1 :(得分:0)
试试这个
function getQueryValue( myUrl ){
myUrl = newUrl.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]" + myUrl + "=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( location.href);
if( results == null )
return "";
else
return results;
}
//current url
var curUrl = location.href;
//new url
var newUrl = getQueryValue( "curUrl" );
//redirect to new page
location.href = newUrl;
}