iframe を含むページがあり、iframe の履歴のみを追跡したいと考えています。私はこのように履歴オブジェクトを使用しようとしました:
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript">
function checkFrameHistory() {
alert(window.frames["test2"].history.length);
}
function checkThisHistory() {
alert(history.length);
}
</script>
</head>
<body>
<iframe name="test2" src="test2.html"></iframe>
<div>
<input type="button" onclick="checkFrameHistory()" value="Frame history"/>
<input type="button" onclick="checkThisHistory()" value="This history"/>
</div>
</body>
</html>
test2.html
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript">
function checkMyHistory() {
alert(history.length);
}
</script>
</head>
<body>
<div>
Test2
</div>
<div>
<input type="button" onclick="checkMyHistory()" value="My history"/>
</div>
</body>
</html>
しかし、実際には親ウィンドウを含む履歴が表示されました。
たとえば、メイン ウィンドウで別のサイトに移動し、iframe テスト サイトに戻ってきました。長さを 2 増やすことで、両方ともwindow.frames["test2"].history.length
同じhistory.length
カウントが得られました。
私はそれを間違っていましたか?iframe 履歴のみを追跡する方法はありますか?