我已經寫了一些代碼來在IE8中顯示我的書籤。檢查它我已經使用JSHint,我得到以下錯誤:驗證碼未接受Javascript代碼(JSHint)
- var files = new Enumerator(FavFolder.Files); '枚舉器'沒有定義。 (Line 14)
- Enumerator(FavFolder.SubFolders); '枚舉器'沒有定義。 (Line 34)
- ActiveXObject(「Scripting.FileSystemObject」); 'ActiveXObject'未定義。 (第46行)
- ActiveXObject(「WScript.Shell」); 'ActiveXObject'未定義。 (Line 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 ");
}
}
就我所見,這兩個函數都沒有在文件中定義。您可能必須設置驗證工具來將它們視爲全局函數(即它們始終可用)。 – 2011-05-11 09:49:18
感謝大家爲你的偉大答案! – Bruno 2011-05-11 10:02:26