У меня есть два приложения, они будут внутри 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>
Если страницы размещены на разных доменах или поддоменах, вы все равно столкнетесь с перекрестными проблемами, используя этот метод. Вероятно, вы хотите использовать 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>