不会销毁的window,帖子:
页面判断问题
原帖问题:如何判断一个页面是第一次打开,还是已经刷新过的。
记得PPK的书里也讲过,即使是在网页切换的时候window对象也不会被销毁。貌似guoshuang老师比PPK先知道这个“秘密”的。看看他给出的代码:
<script>
alert((window.name==""?"是":"不是")+"第一次开这个窗口!")
window.name="blueidea";
</script>
当网页载入的时候,给window.name设置一个随意的值,刷新之后,可以看到window.name的值已经设置了,就可以判断出页面已经是刷新过的了。如果没有设置,显然页面是第一次载入。
呵呵,alert有点生硬,简单的修改一下就是这个网页刚开始的效果了,代码如下:
<div id="test">
<script type="text/javascript">
document.write("您"+(window.name==""?"是":"已经不是")+"第一次开这个窗口!");
window.name="blueidea";
</script>
</div>
进一步的利用想法
由此可见,在刷新的时候,不但window不会被销毁,自定义在window对象上的属性也会被保留。那么我们就可以利用这个特性记录一些信息了。
比如说表单页面刷新的问题。在IE下填好表单之后,如果一点一刷新,那么所有的内容就都没了,FireFox则会保留用户的输入。利用window的自定义属性在刷新时保留的特性,我们可以写一个脚本来保留用户所填写的表单内容,当刷新之后再重新把这些内容填入到表单中。这样用户体验就大有提高了。
再看一个让网页刷新的代码
帖子:如何刷新页面
想要在页面上添加一个按钮,点击按钮后能刷新页面,如何实现?
<input type="button" value="刷新" οnclick="window.location.reload()" />