考虑两个网页,分别在其正文中包含以下内容:
和
(将它们视为更大的一部分,其中textareas 必须由JavaScript生成,不能硬编码到页面中).它们都产生相同的输出,但前者被认为是"坏",而后者被认为是"正确"的方式.(对?)
另一方面,如果你在页面中键入内容然后刷新它,或者转到其他地方然后点击Back,那么在前一种情况下,你在textarea中输入的内容会被保留,而在后面它会丢失.(至少在Firefox上.)
有没有办法使用后一种方法,仍然有一个有用的功能,即即使用户不小心点击刷新或通过后退按钮(至少在Firefox上)回来,用户输入表单的内容也会被保存?
我相信document.write版本实际上会破坏页面上的现有内容.即,身体和脚本标签将不再存在.这就是人们通常使用appendChild的原因.
是否保留文本是特定于浏览器的.我不打赌Firefox在将来的版本中也不会改变它的行为.当用户尝试离开页面并且编辑字段中有未保存的内容时,我建议实施警报对话框.通常你会在卸载事件中执行此操作.