Я видел разницу в IE9 по сравнению с IE8, FireFox и Webkit.Рассмотрим следующий код:
Родительский источник:
<!DOCTYPE html>
<html>
<head><title>iframe test page</title></head>
<body>
<h1>Parent window</h1>
<iframe src="//domain2/iframe.html"></iframe>
</body>
</html>
Источник iframe (в отдельном домене):
<!DOCTYPE html>
<html>
<head><title>iframe content</title></head>
<body>
<h1>iframe content</h1>
<script>function redirect() { window.parent.location = "/new-href"; } </script>
<a href="javascript:redirect()">Redirect the parent window please</a>
</body>
</html>
Если главная страница открыта в IE8 (илиЕсли IE9 настроен на работу в режиме IE8 или Chrome 23 или FF16), щелкнув ссылку, можно перейти к // (домен iframe) / new-href, тогда как в IE9 он перейдет к // (исходный родительский домен) / new-href
Я все еще изучаю, как обойти эту проблему, и обновлю ее, если / когда у меня будет больше информации.
ОБНОВЛЕНИЕ: Установка атрибута target = "_ top" для ссылок iframe работает вокруг этогопроблема.
Обновленный источник iframe (в отдельном домене):
<!DOCTYPE html>
<html>
<head><title>iframe content</title></head>
<body>
<h1>iframe content</h1>
<a href="/new-href" target="_top">Redirect the parent window please</a>
</body>
</html>
При нажатии ссылки в этом обновленном коде iframe родительское (полное) окно будет перенаправлено на // (iframe)domain) / new-href как в IE8, так и в IE9 (и, насколько мне известно, также во всех браузерах).Это то, что вы хотите сделать, верно?
Например, если вы хотите, чтобы все теги в iframe заставляли верхнее / главное / родительское окно перемещаться куда-то, а не в iframe, то используйте что-то вроде этого:
$("iframe a").attr("target", "_top");
См.также документация целевого атрибута