-----------------
就JK的理解:
<script defer=true>这一句的意思应该相当说明以下的代码是在onload里执行(如果没有后一句,将是一边解释一边执行).
对于一个Input,它有defaultValue与value.
我们返回前页的时候,它的value值会自动变成defaultValue的值.但是在页面load完之后,它的value值将会变成在本页页操作的历史值(通过前后或后退时到达本页面)
现在再看一看这一段代码:
if(document.all.ha.value == 1) {  location.reload();}
document.all.ha.value = 1如果第一次打开本页面(或本页被刷新),if将不执行.
如果通过返回本页页来打开本页面,if就会执行.
if执行的结果是本页面刷新,而刷新后的页面里,if不会执行.所以,以上代码可以完成:通过后退或前进到达该页面的话,页面会自动刷新

解决方案 »

  1.   

    有关defer的功能示例1:
    加了defer=true后,里面的代码将是在页面load完之后再执行
    以下代码,如果去掉defer=true,将会报错<html><head>
    <title>支持民族工业,尽量少买日货</title>
    </head>
    <script defer=true>
    alert("document.all.aaa.value);
    </script>
    <body>
    <input name=aaa value=1234>
    </body>
    </html>
      

  2.   

    有关defer的功能示例2:
    加了defer=true后,里面的代码将是在页面load完之后再执行
    以下代码,可以看出返回前页时input值的变化记录.
    <html><head>
    <title>支持民族工业,尽量少买日货</title>
    </head>
    <body>
    <input name=aaa value=1234>请将这里面的值改掉再点击以下链接再返回本页面    
    <br>
    <a href="about:blank">fdsafdsa</a> 
    <br>
    load前<input name=a1> 
    <br>
    load后<input name=a2> 
    </body>
    </html>
    <script>
    document.all.a1.value=document.all.aaa.value;
    </script>
    <script defer=true>
    document.all.a2.value=document.all.aaa.value;
    </script>
      

  3.   

    这段代码与标题没多大关系
    通常情况下,页面转移后再回退到该页时。页面并不刷新,而我这段代码是为解决这个问题而写的。
    <script defer=true>的defer=true将推迟脚本的执行,并且可以直接执行缓冲区中代码而不必重新加载,不刷新是不加载的。
      

  4.   

    to  xuzuning(唠叨):
    我的程序是这样的,
    a页面有个链接<a href="b.jsp">添加</a>,点击后进入b页面,填写一些内容,点击提交按钮后将页面提交给c页面往数据库写值,在此页面有刷新语句,如:<meta http-equiv="refresh" content="0;url=javascript:history.go(-1);">,然后刷新到a页面,希望在返回a页面后能刷新a页面,将刚添加的内容显示出来,用你的程序不能刷新,请指教!!!
      

  5.   

    to  xuzuning(唠叨):
    你的语句有的时候可以,有的时候不行,有什么限制条件吗?