Javascript代码不显示想要的输出 [英] Javascript code not displaying wanted output

查看:156
本文介绍了Javascript代码不显示想要的输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经编写了一些代码来显示我在IE8中的收藏夹但由于未知原因我在屏幕上没有输出,尽管我的页面被IE接受并且显示测试文本'这是一个测试' 。

I've written some code to display my favorites in IE8 but for an unknown reason I have no output on the screen despite the fact that my page is accepted by IE and that the test text 'this is a test' is displayed.

我的代码:

<html>
   <head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso 8859-1" />

   <script type="text/javascript">
        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; // Not working !
                    favorites.innerHTML += 'test'; // Not working too !
                    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 ");
            }
        }
   </script>

   </head>

   <body onload="Import()">

      <p>this is a test</p>     <!-- Working ! -->

      <div id="favorites">
      </div>
   </body>

</html>


推荐答案

以下适用于我:

var fso, favs = [];
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);
            favs.push(favString);
        }
    }
    //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 变量,因为它没有被使用。运行脚本后,我在开发人员工具控制台中检查了该数组,它包含了我所有的收藏夹。

Note that all I changed was the output from an element to an array named favs. I also removed the i variable, because it wasn't used. After running the script, I checked the array in the developer tools console and it contained all my favourites.

这篇关于Javascript代码不显示想要的输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆