我通过后退键返回页面后,索引未重置为0

时间:2011-09-19 14:39:45

标签: javascript

以下是制作跳转菜单的脚本。使用javascript我已将options标记的索引设置为等于0.除了one之外,脚本工作正常。我从跳转到另一页菜单索引没有重置为索引0.相反它被设置为我点击的索引。为什么会这样?脚本有什么问题?

脚本:

window.onload = startInit;

function startInit() {
document.getElementById("newLocation").selectedIndex = 0;
document.getElementById("newLocation").onchange = jumpPage;
}

function jumpPage() {
var newLoc = document.getElementById("newLocation");
var newPage = newLoc.options[newLoc.selectedIndex].value;
if(newPage != "")
   window.location = newPage;
}

HTML

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="script.js">
</script>
</head>

<body bgcolor="#FFFFCC">
<center>
<form>
<select id="newLocation">
 <option value="myworld.gif">first</option>
 <option value="myhome.gif">second</option>
 <option value="myroom.gif">third</option>
 <option value="mybed.jpg">fourth</option>
</select>
</form>

1 个答案:

答案 0 :(得分:1)

浏览器智能化并缓存您的页面。所以看到您的缓存版本 HTML页面。要确保不会发生这种情况,您始终可以使用 第0个索引,告诉浏览器不要做什么(你想要的方式)当页面 卸载。

声明应该是: window.onunload = function(){}; // do nothing function

您可以在window.onload = startInit;

之后添加

告诉浏览器在卸载期间发生了什么事情,因此它 应该重新阅读页面。