Javascript 我可以自动将数据附加到链接吗?
因此,我希望跨浏览器窗口访问不同的数据 为此,我计划使用sessionStorage 例如,对于window1,我设置:Javascript 我可以自动将数据附加到链接吗?,javascript,html,Javascript,Html,因此,我希望跨浏览器窗口访问不同的数据 为此,我计划使用sessionStorage 例如,对于window1,我设置:sessionStorage.setItem('id','12345'),对于window2:sessionStorage.setItem('id','67890') 为了能够处理这个问题,我想将信息作为url参数发送,因此它看起来像/foo?id=12345。现在,我单击的每个链接都应该附加?id=12345部分。因此,如果一个按钮链接到/foo2,它应该自动将其设置为/fo
sessionStorage.setItem('id','12345')
,对于window2:sessionStorage.setItem('id','67890')
为了能够处理这个问题,我想将信息作为url参数发送,因此它看起来像/foo?id=12345
。现在,我单击的每个链接都应该附加?id=12345
部分。因此,如果一个按钮链接到/foo2
,它应该自动将其设置为/foo2?id=12345
我无法对链接到某个地方的所有内容执行document.getElementById
这可以通过javascript或其他方式实现吗
感谢您的帮助 您只需更新页面上的所有链接并添加参数即可
const id='123456';
//您将希望以所有锚定为目标,我正在使用一个类
//由于stackoverflow代码段具有其他链接
//const links=document.querySelectorAll('a');
const links=document.querySelectorAll(“.my url”);
links.forEach(函数(el){
constURL=新url(el.getAttribute('href');
const params=url.searchParams;
参数append('my_id',id);
const newUrl=`${url.origin}?${params.toString()}`;
el.setAttribute('href',newUrl);
});代码>
您尝试过吗?它起作用了吗,没有起作用,坏了。。。?你能分享一下你的代码吗?这样我们就可以很容易地重现你的问题,为你和未来的访问者提供一个有用的答案。谢谢,这就是我一直在寻找的。然而,我也使用了很多按钮来链接onclick事件,比如:onclick=“window.location.href=”/Home/Index”。我可以用同样的方法使用它吗?您可能需要重构onclick处理程序,以通过一个附加参数的函数传递href。我决定基本上使每个链接按钮都成为一个元素,css是相同的,这样就不会有问题。但是由于我所有的链接都是/abc/xyz格式,而不是完整的url,所以我得到了一个错误:构建“url”失败。有没有办法重写js,使其也适用于这些路径?或者我可以把它读成字符串吗?你不需要硬编码,只要使用document.location.origin
My bad,使用:const newUrl=`${url.origin}${url.pathname}?${params.toString()}`代码>