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