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

时间:2010-03-09 21:02:20

标签: jquery

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

使用firequery插件搞砸了页面。然后我在firebug中输入以下代码。

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

即使我触发了点击链接也没有点击。为什么呢?

3 个答案:

答案 0 :(得分:1)

你可以这样做,好吧你会遇到弹出窗口阻止程序的问题,但是如果这只是为了调试目的,你可以简单地禁用阻止程序,就是这样。

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

以下是整个代码,对我有用。实际上我没有在服务器上测试它,只是检查了桌面上的html文件。 Firefox不允许弹出窗口显示,即使我说显示弹出窗口,但IE有选项允许弹出窗口的本地文件,它的工作,为谷歌和雅虎打开两个窗口。

<!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>

答案 1 :(得分:0)

trigger('click')只是行不通。我最近遇到了同样的问题,并使用click()解决了这个问题。

答案 2 :(得分:0)

此代码适用于我:

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

但是,Chrome会阻止此代码,因为它会尝试同时打开大约20个弹出窗口,但我可以看到它确实尝试打开它们。