Greasemonkey 脚本,用于将具有特定域的页面上的所有 URL 替换为不同的域
Greasemonkey script to replace all URLs on a page with a certain domain to a different one
我想将站点 https://www.reddit.com/r/videos/ 上具有 youtube.com
或 youtu.be
域的所有链接替换为不同的域
我创建了这个脚本,它成功地将所有 youtube.com
替换为 youpak.com
,但是 youtu.be
链接由于某种原因没有被替换
// ==UserScript==
// @name replace r/videos youtube with youpak
// @namespace test
// @include https://www.reddit.com/r/videos/
// @version 1
// @grant none
// ==/UserScript==
var links = document.getElementsByTagName('a');
var regexFull = /^https:\/\/www\.youtube\.com\/(.*)$/i;
var regexShort = /^https:\/\/\.youtu\.be\/(.*)$/i;
for (var i = 0; i < links.length; i++) {
links[i].href = links[i].href.replace(regexFull, 'https://www.youpak.com/');
links[i].href = links[i].href.replace(regexShort, 'https://www.youpak.com/watch/?v=');
}
regexFull
规则的示例 URL 为 https://www.youtube.com/watch?v=L4iyPXHM89E
我想把这个URL改成https://www.youpak.com/watch?v=L4iyPXHM89E
这个有效
regexShort
规则的示例 URL 为 https://youtu.be/MkPU6P9OJv4
和 https://youtu.be/MkPU6P9OJv4?t=10
我想把这个URL分别改成https://www.youpak.com/watch?v=MkPU6P9OJv4
和https://www.youpak.com/watch?v=MkPU6P9OJv4?t=10
这不行
没有转义 regexShort URL 看起来像
^https://.youtu.be/(.*)$
如您所见,'youtu' 之前多了一个不应该出现的点。
尝试:
var regexShort = /^https:\/\/youtu\.be\/(.*)$/i;
我想将站点 https://www.reddit.com/r/videos/ 上具有 youtube.com
或 youtu.be
域的所有链接替换为不同的域
我创建了这个脚本,它成功地将所有 youtube.com
替换为 youpak.com
,但是 youtu.be
链接由于某种原因没有被替换
// ==UserScript==
// @name replace r/videos youtube with youpak
// @namespace test
// @include https://www.reddit.com/r/videos/
// @version 1
// @grant none
// ==/UserScript==
var links = document.getElementsByTagName('a');
var regexFull = /^https:\/\/www\.youtube\.com\/(.*)$/i;
var regexShort = /^https:\/\/\.youtu\.be\/(.*)$/i;
for (var i = 0; i < links.length; i++) {
links[i].href = links[i].href.replace(regexFull, 'https://www.youpak.com/');
links[i].href = links[i].href.replace(regexShort, 'https://www.youpak.com/watch/?v=');
}
regexFull
规则的示例 URL 为 https://www.youtube.com/watch?v=L4iyPXHM89E
我想把这个URL改成https://www.youpak.com/watch?v=L4iyPXHM89E
这个有效
regexShort
规则的示例 URL 为 https://youtu.be/MkPU6P9OJv4
和 https://youtu.be/MkPU6P9OJv4?t=10
我想把这个URL分别改成https://www.youpak.com/watch?v=MkPU6P9OJv4
和https://www.youpak.com/watch?v=MkPU6P9OJv4?t=10
这不行
没有转义 regexShort URL 看起来像
^https://.youtu.be/(.*)$
如您所见,'youtu' 之前多了一个不应该出现的点。
尝试:
var regexShort = /^https:\/\/youtu\.be\/(.*)$/i;