簡體   English   中英

跨域 iframe src 更改

[英]Cross domain iframe src changes

我有一個包含 iframe 的應用程序。 我可以修改 iframe 的內容,但不能修改整個頁面本身,例如:

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

我有一個要求,我需要將 iframe 的內容更改為不同的頁面(可能在不同的域中)並返回。 目前我是這樣做的:第一頁(它在 iframe executionPanelApplications 內):

<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 executionPanelApplications 內):

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

如果兩個站點都在 localhost 中,它就像一個魅力。 不幸的是,如果它們在不同的域中 - 第二頁將在新窗口中打開。 在 ie 8 中進行了測試。正如我所說的 - 我無法更改包含 iframe 的頁面的內容。 我只能在 iframe 內部工作。 我需要這個只在 ie 中工作。

有任何想法嗎?

我不會使用 iframe,因為有不同的安全限制(跨域通信)

但我認為,這個可以幫助你: http : //softwareas.com/cross-domain-communication-with-iframes

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM