gpt4 book ai didi

Javascript - 从链接获取 GET 参数并阻止打开

转载 作者:行者123 更新时间:2023-12-04 14:53:40 25 4
gpt4 key购买 nike

我想阻止打开指向特定域的链接,但存储包含的 GET 参数以使用 Javascript 调用另一个函数。

示例链接:http://sub.example.com/?service=address&id=23

因此我现在有这个:

[].forEach.call(document.querySelectorAll("a[href*='sub.example.com'"), function(a){
a.setAttribute('onclick', '
var url = new URL(this.href);
var service = url.searchParams.get("service");
console.log(service);
return false;
')
})

我认为它与 URL 对象的创建有关,但不幸的是,我在 Edge DevTools 中没有收到任何错误消息。我在控制台上没有得到任何输出,并且由于链接仍然打开,return false; 也没有到达。

有人可以给我提示吗?提前致谢。

最佳答案

您不能在用单引号或双引号分隔的字符串中包含换行符。最好使用 addEventListenerevent.preventDefault相反。

[].forEach.call(document.querySelectorAll("a[href*='sub.example.com'"), function(a) {
a.addEventListener('click', function(e) {
e.preventDefault();
var url = new URL(this.href);
var service = url.searchParams.get("service");
console.log(service);
});
})
<a href="http://sub.example.com/?service=address&id=23">Link</a>

关于Javascript - 从链接获取 GET 参数并阻止打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68583696/

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