admin管理员组文章数量:1325510
I've written some code to display my bookmarks in IE8. To check it I've used JSHint and I get the following errors :
- var files=new Enumerator(FavFolder.Files); 'Enumerator' is not defined. (Line 14)
- Enumerator(FavFolder.SubFolders); 'Enumerator' is not defined. (Line 34)
- ActiveXObject("Scripting.FileSystemObject"); 'ActiveXObject' is not defined. (Lines 46)
- ActiveXObject("WScript.Shell"); 'ActiveXObject' is not defined. (Line 50)
Does someone know why ?
my code :
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 ");
}
}
I've written some code to display my bookmarks in IE8. To check it I've used JSHint and I get the following errors :
- var files=new Enumerator(FavFolder.Files); 'Enumerator' is not defined. (Line 14)
- Enumerator(FavFolder.SubFolders); 'Enumerator' is not defined. (Line 34)
- ActiveXObject("Scripting.FileSystemObject"); 'ActiveXObject' is not defined. (Lines 46)
- ActiveXObject("WScript.Shell"); 'ActiveXObject' is not defined. (Line 50)
Does someone know why ?
my code :
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 ");
}
}
Share
Improve this question
edited Jun 22, 2011 at 18:41
Mutation Person
30.5k18 gold badges100 silver badges165 bronze badges
asked May 11, 2011 at 9:45
BrunoBruno
9,07713 gold badges40 silver badges55 bronze badges
1
- Both functions are not defined in the file as far as I can see. You probably have to set up the validation tool to treat those as global functions (i.e. they are always available). – Felix Kling Commented May 11, 2011 at 9:49
5 Answers
Reset to default 6Enumerator and ActiveXObject are globals that are defined externally. You can tell JSHint to ignore these by putting the folllowing at the top of your JavaScript:
/*global Enumerator: false, ActiveXObject: false */
jslint is monly for javascript in all browsers, not IE specified, so Enumerator
and ActiveXObject
or other browser specified objects are not supported.
If you are developing for IE only, just ignore these warnings.
Also, you may add Enumerator, ActiveXObject
in the Predefined textbox.
I don't see Enumerator
defined anywhere, and ActiveXObject
is a Microsoft extension. (Enumerator
may be as well, at least in Windows Scripting Host.) JSHint checks against the specification, not vendor-specific additions.
They're both specific to IE, maybe the parser has an "IE" flag? Other than that you'll need to define them somehow if you really want your code to pass.
I dont if this is the correct way of doing, but this works for me
"predef": ["XDomainRequest","ActiveXObject"]
I added this to my .jshintrc.
本文标签: internet explorerJavascript code not accepted by validator (JSHint)Stack Overflow
版权声明:本文标题:internet explorer - Javascript code not accepted by validator (JSHint) - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1742196800a2431226.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论