打开新窗口时IE8,IE9与Chrome Frame崩溃

时间:2013-01-23 23:52:53

标签: javascript internet-explorer google-chrome frame

此页面作为具有目标框架3.5的ASP.NET应用程序中的文件存在。

我的网站上遇到错误(昨天首次报道)与IE8或IE9上安装了Chrome Frame的用户有关,他们点击了打开新窗口的链接。子窗口打开,但当子窗口关闭时(或有时在之前),父窗口崩溃。 (屏幕完全是灰色的。)

复制此问题的测试代码如下,但我不知道发生了什么或如何解决它。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="X-UA-Compatible" content="chrome=1" />

    <title></title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="description" content="" />
    <meta name="author" content="" />
</head>
<body>
    <button id="open-link">Hi</button>

    <script>
        var a = document.getElementById("open-link");
        a.addEventListener("click", function () {
            window.open("http://google.com", "Browser");
        }, false); 
    </script>
</body>
</html>

2 个答案:

答案 0 :(得分:2)

我在不同的平台上看到同样的问题,所以它不是ASP.net。如果您使用的是Chrome Frame,请使用window.open打开另一个窗口,然后关闭该窗口,它会使剩余的标签/窗口崩溃。如果您打开的窗口在同一域策略之外,那么它会在打开时崩溃打开选项卡而不是关闭。

我还没有解决方法或解决方案,如果找到,我会发布。

答案 1 :(得分:1)

可以使用普通的锚链接,你说它是动态生成的。

将动态网址设置为视图或全局命名空间中的标记中的变量。

var dynamicUrl = {{myUrl}},
    urlTitle = {{myUrl.title}}; // Or whatever construct is generating.

HTML

<a href="dynamicUrl" target="_blank" alt="urlTitle">Hi</a>