如何修改代码实现「新窗口打开」链接中插入JS变量?
实现带参数的新窗口跳转链接
嘿,这事儿不难改!你原来的代码是在当前窗口拼接参数跳转,现在只要把修改location.href的逻辑换成window.open()就能实现新窗口打开啦。
修改后的直接写法
把原来的<a>标签改成这样:
<script language="javascript" type="text/javascript"> var affglcid = 'xyz'; </script> <a href="http://oursite.com/" onclick="window.open(this.href + affglcid); return false;">Link</a>
更清晰的函数式写法(推荐)
如果后续需要调整逻辑,把跳转逻辑抽成单独的函数会更易维护:
<script language="javascript" type="text/javascript"> var affglcid = 'xyz'; function openAffiliateLink(linkElement) { // 拼接带参数的完整链接 const fullUrl = linkElement.href + affglcid; // 用_blank指定在新窗口/标签页打开,第二个参数也可以自定义窗口名称 window.open(fullUrl, '_blank'); // 阻止<a>标签默认的跳转行为,避免重复打开页面 return false; } </script> <a href="http://oursite.com/" onclick="return openAffiliateLink(this);">Link</a>
关键细节说明
window.open()的第二个参数_blank是浏览器默认的新窗口打开规则,你也可以传入自定义名称(比如'affiliate_win'),这样重复点击会复用同一个窗口。- 必须保留
return false,否则<a>标签会同时执行默认跳转和我们的新窗口跳转,导致打开两个页面。
测试一下:当affglcid设为'zyx'时,点击链接会在新窗口打开http://oursite.com/zyx,完全符合你的需求~
内容的提问来源于stack exchange,提问作者Tony88
相关产品推荐
相关产品推荐

