如果您使用canonical jslint file,是否存在该行为?你链接的那个是四年前分支的,没有更新,似乎不尊重window。
比较规范的当前 JSLint 文件中的此部分,确实包含 window:
https://github.com/douglascrockford/JSLint/blob/master/jslint.js#L343
// browser contains a set of global names that are commonly provided by a
// web browser environment.
browser = array_to_object([
'clearInterval', 'clearTimeout', 'document', 'event', 'FormData',
'frames', 'history', 'Image', 'localStorage', 'location', 'name',
'navigator', 'Option', 'parent', 'screen', 'sessionStorage',
'setInterval', 'setTimeout', 'Storage', 'window', 'XMLHttpRequest'
], false),
...来自您的版本,自 2010 年 11 月以来没有任何更新,不包含 window。
https://github.com/mikewest/JSLint/blob/master/fulljslint.js#L340
// browser contains a set of global names which are commonly provided by a
// web browser environment.
browser = {
addEventListener: false,
blur : false,
clearInterval : false,
clearTimeout : false,
close : false,
closed : false,
defaultStatus : false,
document : false,
event : false,
focus : false,
frames : false,
getComputedStyle: false,
history : false,
Image : false,
length : false,
location : false,
moveBy : false,
moveTo : false,
name : false,
navigator : false,
onbeforeunload : true,
onblur : true,
onerror : true,
onfocus : true,
onload : true,
onresize : true,
onunload : true,
open : false,
opener : false,
Option : false,
parent : false,
print : false,
removeEventListener: false,
resizeBy : false,
resizeTo : false,
screen : false,
scroll : false,
scrollBy : false,
scrollTo : false,
setInterval : false,
setTimeout : false,
status : false,
top : false,
XMLHttpRequest : false
},
我根本没有调查过--predef "jQuery,$,Modernizr"。
我一般不建议使用相对匿名的分支 JSLint 文件,更不用说使用了四年的文件。您正在使用其中的哪些更改?将它添加到尊重window 的更新的 JSLint 版本可能更容易——或者使用 JSHint 来获得相同的更改,如果它们有用并且在那里。 (或者,正如我通常所说的那样,你总是可以接受 JSLint 的建议。;^D)
祝你好运。让我们知道规范版本是否有效。
编辑:您可以尝试为您的过期版本设置widget。 That appears to have window in it:
// widget contains the global names which are provided to a Yahoo //
(fna Konfabulator) widget.
widget = {
alert : true,
animator : true,
appleScript : true,
beep : true,
//...
Window : true,
XMLDOM : true,
XMLHttpRequest : true,
yahooCheckLogin : true,
yahooLogin : true,
yahooLogout : true
},
也就是说,你现在太不标准了(widget 不是当前的 JSLint 指令并且包含很多与 Konfabulator 相关的杂物),你真的应该放弃这个 fork并更新到当前的规范版本。这更像是一个“有趣的实验”,而不是推荐的修复方法。
您也可以只将 window: true, 插入到 browser 数组中,但同样,您最好在当前版本的 JSLint 中从该分支进行所需的编辑,如果有,请使用 JSHint他们,或者只是遵循当前版本的 JSLint 的建议。
也就是说,我无法将您在 a minimal JSLint wrapper 中看到的问题复制到旧的分支版本;它让大量的东西通过。抱歉,希望我能提供更多帮助。