0

我相信你可以帮助我解决这个问题:

我最近在 php/javascript 网站上打开新选项卡/弹出窗口时遇到了一些问题。

我目前的解决方案如下:

<script type="text/javascript">

            function Popup(url) {
                window.open(url);
            }

    </script> 


    <div class="link_box">

        <a class="link_box_link" href="javascript:Popup('http://www.<website>.com')"><website-name></a>

    </div>

但是我的一些使用 IE6-8 的同事似乎无法打开链接。现在我希望你能帮助我找到最好的和跨浏览器兼容的解决方案来打开一个新的标签或窗口。任何帮助或提示将不胜感激!

4

2 回答 2

6

好的,在查看了产生的评论(包括我的评论)之后,我决定我应该把它总结在一个答案中。

跨浏览器兼容的解决方案很简单:(没有 Javascript)

<a href="http://www.google.com" target="_blank"> LINK TO GOOGLE </a>

在这里阅读。

这可能不起作用有几个原因:

  • 浏览器设置;
  • 弹出窗口拦截器

关于这些,你无能为力。您的脚本无法编辑浏览器设置;AFAIK,没有一种通用的方法来规避弹出窗口阻止程序(感谢上帝!)。虽然,有一些解决方法在特定条件下确实有效。尽管使用脚本来解释和查询所有这些条件可能是一项令人沮丧的任务,但我建议使用带有iframe静止图像的模态窗口。

注意:实际上,使用它不会给弹出窗口阻止程序带来太多麻烦(尽管仍然可能)。请注意,大多数情况下,弹出窗口阻止程序都是通过检测客户端脚本来打开新窗口来准确触发的——这可能是您尝试的第一个触发它的方法。

于 2013-07-25T08:32:02.340 回答
0

您必须像评论部分中保存的 Joum 一样操作目标。或者你简单地使用 posible to return false;

<a class='popup' href='www.websitename.com'>website</a>

$('a.popup').live('click', function(){
    newwindow=window.open($(this).attr('href'),'','height=200,width=150');
    if (window.focus) {newwindow.focus()}
    return false;
});
于 2013-07-25T07:54:05.627 回答