我想创建元素(单击时)将引导访问者访问两个不同的网站(都在新窗口中)。我怎样才能做到这一点?以下是我尝试过的两种方法,这两种方法都不起作用,因为只打开了一页/窗口。预先感谢!
蒂莫
此处建议的解决方案:How to make a link open multiple pages when clicked 。但也许解决方案已经过时了,但对我来说,只有第一个网页是开放的(包含所有指定的解决方案。(例如那里建议的代码)
HTML <a href="#" class="yourlink">Click Here</a>
$('a.yourlink').click(function(e) { e.preventDefault(); window.open(' https://www.youtube.com/watch?v=H9XIXFwpyEc '); window.open(' https://stackoverflow.com/search?q=open+multiple+pages '); });
虽然同时使用具有不同 a href 的类和 id,并且都具有打开新窗口的额外选项,但也不起作用,因为它只打开第一个窗口
HTML <a href="#" class="yourlink" id="extra">Click Here</a>
$('.yourlink').html('<a href="url"></a>'); // Add page
$('.yourlink a').attr('target', '_blank');
//确保它在新窗口中打开
$('#extra').html('<a href="url"></a>'); // Add page
$('#extra a').attr('target', '_blank');
//确保它在新窗口中打开
最佳答案
使用 Chrome,我没有看到您描述的问题。但当我在IE中测试时,突然收到“弹出窗口被阻止”的消息。
不过这并不奇怪。如果单击一个链接会突然产生 10 个新窗口,我会很讨厌。在这种情况下,我实际上认为 IE 处理得更好(通过阻止第二个窗口)。
问题是,window.open
仅当调用它的操作是可信事件时才起作用。这通常意味着用户启动的事件,例如点击
。但 Chrome 没有考虑到(我认为)单个可信事件可以调用多个 window.open
。
我尝试过解决此功能,但(还)无法欺骗 IE。在我看来,选项是:
- 要求用户将您的网站添加到弹出窗口异常(exception)(互联网设置)中。
- 在您自己的网站内的 iframe 中生成页面
- 要求用户使用其他浏览器;)
或者显而易见的:
- 为窗口使用单独的链接
关于javascript - 使用 javascript/jquery 一次打开多个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30274036/