首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >忽略jslint4java外部jslint选项。

忽略jslint4java外部jslint选项。
EN

Stack Overflow用户
提问于 2015-03-03 12:26:12
回答 1查看 100关注 0票数 0

我正在使用phing-drupal-模板,并且对jslinting有问题。当使用带有--jslint选项的外部jslint时,既不能识别浏览器选项,也不能识别内联选项,例如

/*jslint browser: true */

任何帮助都将不胜感激。谢谢。

代码语言:javascript
复制
java -jar tools/jslint4java/jslint4java-2.0.5/jslint4java-2.0.5.jar
     --browser 
     --predef "jQuery,$,Modernizr" 
     ../sites/all/modules/custom/zendigital/js/frontpage.js



java -jar tools/jslint4java/jslint4java-2.0.5/jslint4java-2.0.5.jar 
     --jslint tools/jslint/fulljslint.js
     --browser
     --predef "jQuery,$,Modernizr"
     ../sites/all/modules/custom/zendigital/js/frontpage.js 


jslint:...frontpage.js:59:40:'window' is not defined.
jslint:...frontpage.js:84:23:'window' is not defined.
jslint:...frontpage.js:104:36:'window' is not defined.
jslint:...frontpage.js:105:23:'window' is not defined.
jslint:...frontpage.js:180:25:'Modernizr' is not defined.
jslint:...frontpage.js:250:65:'window' is not defined.
jslint:...frontpage.js:250:86:'window' is not defined.
jslint:...frontpage.js:278:4:'jQuery' is not defined.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-03 14:30:11

如果使用规范jslint文件,行为是否存在?你四年前链接的那个还没有更新,似乎不尊重window

在规范的、当前的window文件中比较本节,其中包含

https://github.com/douglascrockford/JSLint/blob/master/jslint.js#L343

代码语言:javascript
复制
// 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

代码语言:javascript
复制
// 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设置。在它里面

代码语言:javascript
复制
// 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指令,并且包含了许多与JSLint相关的cruft),您真的应该放弃这个分支,更新到当前的规范版本。这更多的是一个“有趣的实验”,而不是一个推荐的解决办法。

您也可能只需将window: true,插入到browser数组中,但同样,您最好在当前版本的JSLint中从该分支中进行所需的编辑,如果有它们,则使用JSHint,或者只需遵循当前版本的JSLint建议。

尽管如此,我不能用旧的分支版本来复制您在最小JSLint包装器中看到的问题;它让大量的东西通过。抱歉,真希望我能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28831812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档