Greasemonkey脚本testfor url&添加参数

时间:2017-04-03 18:31:09

标签: youtube greasemonkey userscripts

我想检查网站youtube.com,如果它是视频网站(包括watch?v=),请将&rel=0添加到网址。伪代码:

if url = youtube.com/watch?v=* |then newurl = url + &rel=0

更多例子:

  • youtube.com - > youtube.com
  • youtube.com/feed/subscriptions - > youtube.com/feed/subscriptions
  • youtube.com/watch?v=ikIXmUUumjg - > youtube.com/watch?v=ikIXmUUumjg&rel=0
  • youtube.com/watch?v=ikIXmUUumjg&t=0 - > youtube.com/watch?v=ikIXmUUumjg&t=0s&rel=0

1 个答案:

答案 0 :(得分:0)

诀窍是使用现代javascript替换URL而不重定向。第二个技巧是知道window.location包含按部分划分的已解析URL(主机名,路径,查询参数......)。

// ==UserScript==
// @name        window rel youtube
// @namespace   util
// @match       *://www.youtube.com/*
// @version     1
// @grant       none
// ==/UserScript==
const watchRegex = /watch\?v=/i
if(window.location.href.indexOf("watch?v=")!=-1 && window.location.search.indexOf("rel=0")==-1) {
    console.log("changing url");
    var baseURL = window.location.origin + window.location.pathname+window.location.search+"&rel=0"+window.location.hash;
    window.history.pushState({"pageTitle":document.title},"", baseURL);
}
else {
    console.log("No change in url");
}