我有一個包含iframe的應用程序。我可以修改iframe的內容,而不是整個頁面本身,如:跨域iframe src變化
<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>
如果這兩個網站都在本地主機,它的作用就像一個魅力。不幸的是,如果他們在不同的領域 - 第二頁在新窗口打開。在ie 8中測試過。正如我所說 - 我無法更改包含iframe的頁面內容。我只能在iframe中工作。我需要這個只在ie中工作。
任何想法?
這就是爲什麼你應該避免難看的iFrame。這是一個已知的限制。 – OptimusCrime