我已经编写了一些代码来在 IE8 中显示我的书签。为了检查它,我使用了 JSHint,但出现以下错误:

  • var files=new Enumerator(FavFolder.Files);未定义“枚举器”。 (第 14 行)
  • 枚举器(FavFolder.SubFolders);未定义“枚举器”。 (第 34 行)
  • ActiveXObject("Scripting.FileSystemObject");未定义“ActiveXObject”。 (第 46 行)
  • ActiveXObject("WScript.Shell");未定义“ActiveXObject”。 (第 50 行)

  • 有人知道为什么吗?

    我的代码:
    var i=0;
    var favString="";
    var fso;
    
    
    
    function GetFavourites(Folder)
    {
    var FavFolder=fso.GetFolder(Folder);
    //Gets Favourite Names & URL's for given folder.
    var files=new Enumerator(FavFolder.Files);
    for(; !files.atEnd() ;files.moveNext())
    {
    var fil=files.item();
    if(fil.Type=="Internet Shortcut")
    {
    var textReader=fso.OpenTextFile(fil.Path,1,false,-2);
    var favtext=textReader.ReadAll();
    var start=favtext.indexOf("URL",16);
    var stop=favtext.indexOf("\n",start);
    favString+=fil.Name.replace(/.url/,"");
    favString+=":URL:";
    //to separate favourite name & favorite URL
    favString+=favtext.substring(start+4,stop-1);
    favorites.innerHTML+=favString;
    favString+=":NEXT:"; //to separate favorites.
    i++;
    }
    }
    //Checks any subfolder exists
    var subfolders=new Enumerator(FavFolder.SubFolders);
    for(; !subfolders.atEnd() ;subfolders.moveNext())
    {
    var folder=subfolders.item();
    GetFavourites(folder.Path);
    }
    }
    
    function Import()
    {
    try
    {
    fso=new ActiveXObject("Scripting.FileSystemObject");
    if(fso !==null )
    {
    //Create windows script shell object to access Favorites folder in user system.
    var object=new ActiveXObject("WScript.Shell");
    var favfolderName=object.SpecialFolders("Favorites");
    if(favString==="")
    {
    GetFavourites(favfolderName);
    }
    }
    }
    catch(err)
    {
    alert("Security settings to be modified in your browser ");
    }
    }
    

    最佳答案

    jslint 普遍用于所有浏览器中的 javascript,不是 IE 指定的,因此不支持 EnumeratorActiveXObject 或其他浏览器指定的对象。

    如果您只为 IE 开发,请忽略这些警告。

    此外,您可以在 预定义 文本框中添加 Enumerator, ActiveXObject

    关于验证器不接受 Javascript 代码 (JSHint),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5962257/

    10-09 23:08