繁体   English   中英

无法在新标签页中打开链接

[英]not able to open links in a new tab

我需要验证页面上的很多链接。 而不是自己打开每个链接。 这就是我所做的。

使用firequery插件对页面进行jquer化。 然后我在萤火虫中键入以下代码。

a = $('a');
$.each(a, function(i,val){
  $val = $(val);
  $val.attr({target: '_blank'});
  $val.trigger('click');
});

即使触发我,也不会单击链接。 为什么?

您可以这样做,好吧,您会遇到弹出窗口阻止程序的问题,但是,如果这仅是出于调试目的,您可以直接禁用阻止程序,仅此而已。

a = $('a');
$.each(a, function(i,val){
  window.open(val, '_blank');
});

这是整个代码,对我有用。 实际上,我没有在服务器上进行测试,只是在桌面上检查了html文件。 即使我说要显示弹出窗口,Firefox也不允许显示弹出窗口,但是IE可以选择允许本地文件弹出窗口,并且它可以工作,为google和yahoo打开两个窗口。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <script type="text/javascript" src="jquery-min.js"></script>
    </head>
    <body>
        <a href="http://www.google.com">aa</a>
        <a href="http://www.yahoo.com">bb</a>
        <script>
            $(document).ready(function() {
                    a = $('a');
                    $.each(a, function(i,val){
                    window.open(val, '_blank');  
                });
            });
        </script>
    </body>
</html>

trigger('click')无效。 我最近遇到了同样的问题,并通过使用click()解决了它。

该代码对我有用:

$("a").each(function(i, val) { window.open(val.href); });

但是,Chrome阻止了此代码,因为它试图一次打开约20个弹出窗口,但我可以看到它确实试图打开它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM