навигация по различным вкладкам, не достижимая при использовании iframe

0

У меня есть два приложения, они будут внутри iframe на сайте

Когда я нажимаю кнопку в приложении 1, она должна перейти к вкладке в браузере, содержащем приложение 2 и наоборот. У меня есть что-то вроде кода ниже в обоих приложениях, и он отлично работает, когда я использую полную ссылку на мои приложения. Но когда они заходят в iframe, я не могу установить window.parent.name и навигации не происходит

  <script type="text/javascript">
        window.name = "Application1";

       </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
     <a id="game" href="website.aspx" target="Application2">Click for application 2</a>

    </div>
    </form>
</body>
</html>
Теги:

1 ответ

0

Если страницы размещены на разных доменах или поддоменах, вы все равно столкнетесь с перекрестными проблемами, используя этот метод. Вероятно, вы хотите использовать window.postMessage для обеспечения совместимости, здесь есть хороший пример:

http://html5demos.com/postmessage2

Примером может служить:

parent.html

<iframe id="iframe" src="child.html"></iframe>
<script>
    var win = document.getElementById("iframe").contentWindow;
    win.postMessage('Message from parent', 'child.html');
</script>

child.html

<div id="output"></div>
<script>
    window.onmessage = function(e) {
        if (e.origin !== "parent.html") {
            return;
        }
        document.getElementById("output").innerHTML = e.origin + " said: " + e.data;
    };
</script>
  • 0
    это выполнимо, даже если у меня нет контроля на главной странице, где размещается мое приложение внутри iframe?
  • 0
    Только используя window.top, window.post Сообщение, вам нужен доступ с обеих сторон, чтобы разрешить отправку сообщения

Ещё вопросы

Сообщество Overcoder
Наверх
Меню