Эта страница существует в виде файла в приложении ASP.NET с целевой платформой 3.5.

Я столкнулся с ошибкой на моем сайте (впервые опубликованной вчера), которая связана с пользователями, у которых установлена Chrome Frame в IE8 или IE9 и которые нажимают на ссылку, чтобы открыть новое окно. Дочерняя страница открывается, но когда закрывается дочернее окно (или иногда раньше), происходит сбой родительского окна. (Экран полностью серый).

Тестовый код, который повторяет эту проблему, приведен ниже, но я понятия не имею, что происходит или как ее решить.

<!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>
1
Garrett 24 Янв 2013 в 03:52

2 ответа

Лучший ответ

Я вижу ту же проблему на другой платформе, поэтому это не ASP.net. Если вы используете Chrome Frame, используйте window.open, чтобы открыть другое окно, а затем закройте это окно, оно вылетает из оставшейся вкладки / окна. Если открываемое вами окно находится вне политики того же домена, то при открытии он вылетает, а не закрывается.

У меня пока нет обходного пути или решения, выложу, если найду.

2
danielfarrell 29 Янв 2013 в 22:35

Можно использовать обычную ссылку привязки, и вы сказали, что она генерируется динамически.

Установите динамический URL для переменной либо в представлении тегов, либо в глобальном пространстве имен.

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

HTML

<a href="dynamicUrl" target="_blank" alt="urlTitle">Hi</a>
1
Christopher Marshall 24 Янв 2013 в 00:04