在 modalDialog 中使用 window.open - 地址栏始终可见?

发布于 2024-12-07 12:38:28 字数 1318 浏览 1 评论 0原文

(在 IE9 中已观察到此问题)

当从 modalDialog 中打开新窗口时,我遇到了一些与地址栏显示相关的问题。

以下示例页面说明了这一点。

test.html:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
        <title>Test</title>
        <script type="text/javascript">
            function windowOpen()
            {
                var sOptions = "width=300,height=300,location=0,menubar=0,toolbar=0,status=0";
                window.open("test.html", "", sOptions);
            }

            function modal()
            {
                var sOptions = "dialogHeight:300px;dialogWidth:300px;";
                window.showModalDialog("test.html", "", sOptions);
            }
        </script>    
    </head>
    <body>
        <a href="javascript:void(0);" onclick="modal()">window.showModalDialog</a><br /><br />
        <a href="javascript:void(0);" onclick="windowOpen()">window.open</a>
    </body>
    </html>

单击页面上的“window.open”链接按预期工作,并且地址栏被隐藏。如果您在出现的新窗口中再次单击该链接,它仍然按预期执行。

但是,如果您随时在 modalDialog 中打开页面(使用 window.showModalDialog 链接),然后单击“window.open”,则地址栏可见。

有什么办法可以避免这种行为吗?

任何帮助将不胜感激。

(This problem has been observed in IE9)

I am experiencing some problems relating to the display of an address bar when opening a new window from within a modalDialog.

The following sample page illustrates this.

test.html:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
        <title>Test</title>
        <script type="text/javascript">
            function windowOpen()
            {
                var sOptions = "width=300,height=300,location=0,menubar=0,toolbar=0,status=0";
                window.open("test.html", "", sOptions);
            }

            function modal()
            {
                var sOptions = "dialogHeight:300px;dialogWidth:300px;";
                window.showModalDialog("test.html", "", sOptions);
            }
        </script>    
    </head>
    <body>
        <a href="javascript:void(0);" onclick="modal()">window.showModalDialog</a><br /><br />
        <a href="javascript:void(0);" onclick="windowOpen()">window.open</a>
    </body>
    </html>

Clicking on the 'window.open' link on the page works as expected and the address bar is hidden. If you click the link again in the resulting new window, it still performs as expected.

If however, you open the page in a modalDialog at any point (using the window.showModalDialog link) and then click on 'window.open' the address bar is visible.

Is there any way of avoiding this behaviour?

Any help would be appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文