【问题标题】:Chrome how to open popup in new window instead of new tab (20170629_chrome 59.0.3071.115)Chrome如何在新窗口而不是新标签中打开弹出窗口(20170629_chrome 59.0.3071.115)
【发布时间】:2017-12-02 14:09:19
【问题描述】:

已编辑:对于我的问题,不确定,但我认为 Google Chrome 的此更新不支持某些特定浏览器的许多选项。因此,当我们将它们放在specs paramwindow.open() 中时,它会省略所有height=h,width=w,left=x,top=y,这会使chrome 在新窗口而不是新标签中打开链接

对于我的程序,现在我只保留这个,这解决了问题:

window.open(form_url, form_name, "width=w,height=h,left=x,top=y");
//our problem code below
//window.open(form_url, form_name, "width=w,height=h,left=x,top=y,resizable=yes,location=yes,scrollbars=yes");

//编辑结束==================

有人可以帮助我配置 Chrome,以便弹出窗口将在新窗口中打开,而不是在新标签页中打开吗? (或任何用于 asp.net、c# 的编程方法)

从今天 2017/06/29 开始,可能是 chrome 版本 59.0.3071.115 的最新更新,chrome 中的所有弹出窗口都将在新选项卡而不是新窗口中打开。这改变了我们网站的行为(我们的网站使用主菜单和其他弹出表单),而且非常出乎意料。

(在其他一些弹出广告的网站中进行了测试,行为相同)。

(在 Firefox 中测试:所有这些网站都可以在新窗口中打开弹出窗口,而不是新标签)。

我在这里阅读了更新日志,但没有提及此更改:chrome 59.0.3071.115

我也搜索了谷歌,但没有运气,也许是因为我的谷歌技能,也许是因为这是 Chrome 的新变化,所以谷歌找不到关于它的问题?

感谢您的帮助。

【问题讨论】:

    标签: asp.net google-chrome


    【解决方案1】:

    在以编程方式打开新窗口而不是新标签时,您可以通过 JQuery 来完成:

    <script type="text/javascript">
    $(document).ready(fncOpenNewWindow);
    
    function fncOpenNewWindow() {
            $('#testURL').unbind();
            $('#testURL').on('click', function () {
                window.open("", 'Window Name', "height=200,width=200,modal=yes,alwaysRaised=yes");
            });
        }
    </script>
    

    这是控件:

    <a href="@Url.Action("Action", "Controller")" id="testURL">Click Me</a>
    

    这是在 Chrome 上测试的。我还没有在其他浏览器上测试过,但这应该可以在 Chrome 上正常工作。

    【讨论】:

    • 很高兴帮助@PhamX.Bach :)
    • 我做了一些实验,发现将 window.open(...) 的“位置”和“工具栏”参数重置为“0”(或“否”)会使我的弹出窗口以又是新窗口。完全删除这两个参数也可以解决问题。
    【解决方案2】:

    我也有这个问题。我通过更改 toolbar=no 或删除 toolbar 功能来修复。

     window.open('http://google.com','x', 'height=600,width=600,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=no,menubar=no,location=no,directories=no,status=no')
    

    【讨论】:

    • 仅删除“工具栏”可能还不够。我还必须删除“位置”参数才能让弹出窗口在新窗口中打开。 (我以前将这两个都设置为“1”)
    • 谢谢,我认为谷歌浏览器的这次更新不支持某些特定浏览器的许多选项,所以当我们在 window.open() 的选项参数中添加它们时,它会省略所有 height=h,width=w,left=x,top=y这使得 chrome 在新窗口而不是新标签中打开链接。
    • @jball037 好的,我只是删除工具栏,它对我有用。 (Chrome: 59.0.3071.115) 你可以在jsfiddle.net/mrjuju/jcmk4jf9/1试试
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-06
    • 1970-01-01
    • 2022-11-13
    相关资源
    最近更新 更多