我有一个包含 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 测试站点。两者都window.frames["test2"].history.length
通过history.length
将长度增加 2 给了我相同的计数。
我做错了吗?有没有办法只跟踪 iframe 历史记录?