一个奇怪的JS导致Firefox Session Restore失效问题

Firefox有一个很有用的Session Restore功能:当浏览器由于异常原因崩溃或者不小心点了刷新按钮时候,能够自动保留之前填写的数据。
但是JavaEye的编辑器不知道什么原因导致这个功能失效,经过调试代码发现了能够重现这个问题的一个简单例子:

<html>
<body>
<div id="d"></div>
<textarea style="width: 300px; height: 300px;"></textarea>
<script>
var new_div = document.createElement('div');
document.getElementById('d').appendChild(new_div);
new_div.innerHTML = "<input type='button' value='a'/>";
</script>
</body>
</html>

用Firefox打开这个html,在textarea里面随便填写一些内容,然后刷新,这些内容就丢失了。
但是令人费解的时候,如果innerHTML里面写的不是input,而且其他html,比如:

new_div.innerHTML = "<a href='#'>test</a>";

这样刷新页面,textarea里面的内容就能够正常保持。

更令人费解的是,只要调整一下第3行和第4行代码的顺序,这个问题也不会出现。
以上情况在Firefox2 @ Ubuntu 7.10或者Windows上都可以重现, 初步怀疑是Firefox的Session Restore bug, 不过在它的bug list上也没有找到,不知道大家有没有遇到过类似问题?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值