gpt4 book ai didi

javascript - 为什么这个greasemonkey/javascript 代码在冒号上运行?

转载 作者:行者123 更新时间:2023-11-28 16:20:05 24 4
gpt4 key购买 nike

它按预期工作 - 所需的功能是能够使用分号键更轻松地调用 bang!。然而,由于某种原因,它也会导致包含冒号的 URL 永久刷新(实际上它不应该执行任何操作)。

代码如下:

// ==UserScript==
// @name DDG Semicolon Bangs
// @include https://duckduckgo.com/?q*
// ==/UserScript==

window.location.href = window.location.href.replace(/%3B/, '%21');

// End of script

示例测试页面:https://duckduckgo.com/?q=w%3A+greasemonkey(为什么这会永远刷新?!!?!?!garrrr!)和https://duckduckgo.com/?q=w%3B+greasemonkey(按预期工作 - 万岁!)

最佳答案

不要指望将窗口位置设置为当前位置时会发生的(特定于浏览器的、非标准的)事情。在替换之前检查该位置是否与您的正则表达式匹配。并使用 location.replace,以避免在浏览器历史记录中设置条目。

var re = /%3B/g;
if (re.test(window.location.href)) {
window.location.replace(window.location.href.replace(re,'%21'));
}

关于javascript - 为什么这个greasemonkey/javascript 代码在冒号上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9998496/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com