JavaScript检测页面是否刷新过

不会销毁的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="刷新" onclick="window.location.reload()" />   

你可能感兴趣的:(JavaScript,脚本,input,div,firefox,button)