Javascript window.location.href=window.location.href和JSLint

Javascript window.location.href=window.location.href和JSLint,javascript,jslint,Javascript,Jslint,如果使用 window.location.href = window.location.href; 重新加载页面(不重新发布)不是一个坏习惯,我们应该如何看待JSLint的“奇怪的任务”抱怨 编辑窗口。如果不想再次发布表单数据,则location.reload()不适用。在某些浏览器中,它会引发“重新发送表单数据”,这在不需要时最好避免 更新我做了一些非常简短的测试,发现: Mac上的Chrome 12和Safari 5.0.5不会使用.reload() Mac上的FF 2.0、3.6、4.

如果使用

window.location.href = window.location.href;
重新加载页面(不重新发布)不是一个坏习惯,我们应该如何看待JSLint的“奇怪的任务”抱怨

编辑
窗口。如果不想再次发布表单数据,则location.reload()不适用。在某些浏览器中,它会引发“重新发送表单数据”,这在不需要时最好避免

更新我做了一些非常简短的测试,发现:

  • 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技术预览与Mac上的FF表现相同
  • window.location=window.location.href
    在所有这些浏览器中的工作原理与
    window.location.href=window.location.href
    相同
这是。

试试这个

window.location = window.location.href;

给自己分配一些东西确实是一个奇怪的任务。听起来更像是警告而不是抱怨

我本人更愿意使用:

window.location.reload()

编辑:但这会立即重新发布表单,不是吗。这里有一篇关于同样事情的帖子:

这是一个奇怪的任务,JSLint是对的。问题是设置变量会产生重新加载页面的副作用。我会将其编码为
window.location.href=window.location.href+''以避免JSLint错误,并添加注释解释其功能。

您知道JSLint有一个电子邮件列表吗?你也可以问这样的问题。谢谢你的建议。也许当设置了
“browser”
选项时,JSLint可能会容忍这种情况。但是不
window.location.reload()
重新发布表单?我想在发布的情况下,它会要求重试。我已经编辑了我的答案。那是一个调皮的编辑!3张赞成票赞成一个完全不同的答案。我需要在需要支持的浏览器中检查这一点。我在
window.location=window.location.hrefwindow.location.href=window.location.href只是一张票。我有一个答案给你。谁在乎杰斯林特说了什么!:毫无疑问,这是一项奇怪的任务。不幸的是,您的建议没有帮助:第1行的问题47个字符:预期为“字符串”,但看到了“”“”。我可以发誓我已经检查过了。另一次尝试:
window.location.href=window.location.href+String()
这在JSLint中是可以的,并且肯定等同于
window.location.href=window.location.href。但我想我更喜欢ShankarSangoli的
window.location=window.location.href我认为可以不加评论地允许。