セキュリティ上の理由から、最新のブラウザーでは、別のドメインの URL で読み込まれたウィンドウ/iframe を読み取ったり変更したり (リロードを含む) することはできません (たとえばhtt://google.com
、Google のコーダーではない場合)。
したがって、頻繁ではない遠隔サーバーがそれを承認した場合を除いて、それを行うことはできません.
ページが同じドメインにある場合、これは機能します:
<li><a href="#" title="alert-tab" onclick="myWindow=window.open('index2.html','_blank');">New Window</a></li>
<li><a href="#" title="alert-tab" onclick="myWindow.location.reload();">Reload</a></li>
2 つのローカル ファイルは常に別個のドメインと見なされるため、テストでは常にhttp://
(ではなく)で開くように注意してください。file://
ウィンドウに名前を付けると、親ページを途中でリロードしたとしても、次にロードされるときは同じウィンドウになることに注意してください。
<li><a href="#" title="alert-tab" onclick="myWindow=window.open('index2.html','someName');">New Window</a></li>
したがって、親ページをリロードするときに子ページをリロードしたい場合は、次のようにすることができます。
<li><a href="#" title="alert-tab" id=mylink>New Window</a></li>
<script>
function openPage(){
myWindow=window.open('index2.html','someName');
localStorage['open'] = 'yes';
}
window.onload = function(){
document.getElementById('mylink').onclick=openPage;
if (localStorage['open']=='yes') myWindow=window.open('index2.html','someName');
localStorage['open'] = 'no';
};
</script>
前回子ウィンドウが開いていたかどうかを読み込み時に確認し、必要に応じて再読み込みを強制するという考え方です。
もちろん、これは親と子が同じドメインから提供されている場合にのみ機能します。