私は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>
2ページ目(それは同様のiframe executionPanelApplications内にある必要があります):
<script>
function leave(e) {
var iframe = parent.parent.document.getElementById("executionPanelApplications");
iframe.src = url;
};
</script>
もし現在、私はこのようにそれを行います両方のサイトはlocalhostにあり、魅力的に機能します。不幸なことに、それらが異なるドメインにある場合、2番目のページが新しいウィンドウで開きます。私は言ったように - 私はiframeを含むページの内容を変更することはできません。私はiframeの内側からしか作業できません。私はこれだけで動作する必要があります。
アイデア?
あなたは醜いiFrameを避けなければならない理由です。これは既知の制限です。 – OptimusCrime