Кросс-доменные изменения iframe src - PullRequest
0 голосов
/ 15 ноября 2011

У меня есть приложение, которое содержит iframe.Я могу изменить содержимое iframe, но не всю страницу целиком, например:

<html><head></head>
<body> 
    <iframe>
        <!-- my code -->
    </iframe>
</body></html>

У меня есть требование, в котором мне нужно изменить содержимое iframe на другую страницу (возможно, на другую страницу).домен) и вернуться.В настоящее время я делаю это так: Первая страница (она находится внутри iframe executePanelApplications):

<html> 
 <head>
    <script type="text/javascript">
function replaceIFrameUrl() {
    var doSubmit = "<c:out value='${param.doSubmit}'/>";
    if (doSubmit == 1) {
        document.forms['testForm'].submit();
    }
    else {
        var adfUrl = "<fuego:fieldValue att='instJs.adfUrl' onlyValue='true'/>";
        var bpmSrc = parent.document.getElementById('executionPanelApplications').src;
        var bpmSrcParams = bpmSrc.split('&');
        var activityId = (bpmSrcParams[1].split('='))[1]; 
        var url = adfUrl +"&actionType=0&activityId="+activityId;
        parent.document.getElementById('executionPanelApplications').src = url;
    }
};

</script>
 </head>
 <body onload="replaceIFrameUrl();">
    <form method="post" id="testForm" name="testForm" />
 </body>
 </html>

Вторая страница (она также должна быть внутри iframe executePanelApplications):

 <script>
   function leave(e) {
      var iframe = parent.parent.document.getElementById("executionPanelApplications");
      iframe.src = url;
   };
 </script>

Если оба сайта находятся в localhost, это работает как шарм.К сожалению, если они находятся в разных доменах - вторая страница открывается в новом окне.Проверено в т. Е. 8. Как я уже сказал - я не могу изменить содержимое страницы, содержащей iframe.Я могу работать только внутри iframe.Мне нужно, чтобы это работало только в т.е.

Есть идеи?

1 Ответ

0 голосов
/ 15 ноября 2011

Я бы не использовал iframes, потому что существуют разные ограничения безопасности (междоменная связь)

Но я думаю, что этот может помочь вам: http://softwareas.com/cross-domain-communication-with-iframes

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...