点击链接时打开新标签页不覆盖原有标签页的实现需求
解决每次点击链接都打开新标签页的问题
你当前代码的问题出在window.open的第二个参数——固定的'_newtab'会被浏览器当作标签页的唯一标识,只要这个名称存在,再次点击就会复用已打开的标签页,而不是新建。
要实现每次点击都开新标签页,只需要给每次调用的window.open分配唯一的窗口名称就行,这里有两种简单的实现方式:
方式一:用递增计数器生成唯一名称
let tabCounter = 0; $('body').on('click', 'a.viewTextAndAnnotations', function(e) { e.preventDefault(); var fullUrl = "https://www.example.com"; const uniqueTabName = `new-tab-${tabCounter++}`; window.open(fullUrl, uniqueTabName); });
方式二:用时间戳生成唯一名称
$('body').on('click', 'a.viewTextAndAnnotations', function(e) { e.preventDefault(); var fullUrl = "https://www.example.com"; window.open(fullUrl, `new-tab-${Date.now()}`); });
两种方法都能保证每次点击时,window.open的窗口名称都是独一无二的,浏览器就会每次新建标签页而不是复用旧的。
内容的提问来源于stack exchange,提问作者zabitstack
相关产品推荐
相关产品推荐

