我正在编写一个 Tampermonkey 脚本,我想用它从 youtube.com/*
重定向到 YouTube channel 地址。
window.addEventListener ("load", LocalMain, false);
function LocalMain () {
location.replace("https://www.youtube.com/channel/*");
}
当脚本运行时,它会重定向到 channel URL,但随后会继续运行并持续重定向。
最佳答案
执行这种重定向的标准、更有效和执行速度更快的方法是调整脚本的 metadata 甚至不在重定向到的页面上运行。
此外,使用 //@run-at document-start
以获得更好的响应。
所以你的脚本会变成这样:
// ==UserScript==
// @name YouTube, Redirect to my channel
// @match https://www.youtube.com/*
// @exclude https://www.youtube.com/channel/*
// @run-at document-start
// ==/UserScript==
location.replace("https://www.youtube.com/channel/UC8VkNBOwvsTlFjoSnNSMmxw");
此外,对于此类“广谱”重定向脚本,请考虑使用 location.assign()
,以便您或您的用户可以在过度重定向的情况下恢复历史记录中的原始 URL。
关于javascript - 每次加载适当的页面时,如何使脚本仅重定向一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55654803/