【发布时间】:2011-07-19 17:48:25
【问题描述】:
如果使用
window.location.href = window.location.href;
重新加载页面(不重新发布)不是坏习惯,我们应该如何看待 JSLint 的“Weird assignment”投诉?
EDIT window.location.reload() 不适合当您不想再次 POST 表单数据时。在某些浏览器中,它会引发“重新发送表单数据?”不需要时最好避免。
更新我做了一些非常简短的测试,发现:
- Mac 上的 Chrome 12 和 Safari 5.0.5 不会使用
.reload()重新发布 - Mac 上的 FF 2.0、3.6、4.0、5.0 向用户显示带有
.reload()、.reload(true)和.reload(false)的“重新发送表单对话框” - XP中的IE6、IE8(标准)、IE8(IE7模式、标准); Win7 中的 IE9 和 IE10-tech-preview 的行为与 Mac 上的 FF 相同
-
window.location = window.location.href在所有这些浏览器中的工作方式与window.location.href = window.location.href相同。
这里是the test script。
【问题讨论】:
-
你知道有一个 jslint 的电子邮件列表吗?你也可以在那里问这样的问题。
-
window.location.reload(forceGet); 的 MDN 文档
-
@ErikE:感谢您的建议。当设置了
"browser"选项时,也许这是 JSLint 愿意容忍的。
标签: javascript jslint