-----------------
就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不会执行.所以,以上代码可以完成:通过后退或前进到达该页面的话,页面会自动刷新
就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不会执行.所以,以上代码可以完成:通过后退或前进到达该页面的话,页面会自动刷新
加了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>
加了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>
通常情况下,页面转移后再回退到该页时。页面并不刷新,而我这段代码是为解决这个问题而写的。
<script defer=true>的defer=true将推迟脚本的执行,并且可以直接执行缓冲区中代码而不必重新加载,不刷新是不加载的。
我的程序是这样的,
a页面有个链接<a href="b.jsp">添加</a>,点击后进入b页面,填写一些内容,点击提交按钮后将页面提交给c页面往数据库写值,在此页面有刷新语句,如:<meta http-equiv="refresh" content="0;url=javascript:history.go(-1);">,然后刷新到a页面,希望在返回a页面后能刷新a页面,将刚添加的内容显示出来,用你的程序不能刷新,请指教!!!
你的语句有的时候可以,有的时候不行,有什么限制条件吗?