从JavaScript中的文本文件读取数据

时间:2018-11-10 19:17:09

标签: javascript string file

我正在尝试创建一个复杂的网站,我想将其拆分为多个文件,其中一个是内容本身,为此,我想创建一个函数来更改文件中的div内容。 / p>

整个代码:

<html>
    <body onLoad = "uploadData();">
        <div id = "text"> </div>
    </body>
    <script>
    function uploadData()
    {
        var file = new File("data");
        file.open("r");
        var data = "";
        while (!file.eof) {
            data += file.readln() + "\n";
        }
        file.close();
        alert(data);
        document.getElementById('text').innerHTML = data;
    }
    </script>
</html>

代码在第7行出现错误。 请帮助我!!!

2 个答案:

答案 0 :(得分:3)

您无法在 现代 浏览器中以这种方式从文件中读取security reasons(脚本为sandboxed)。

也许您从非常老的非标准Javascript参考(例如 JavaScript程序员参考(由Cliff Wootton,2001年提供)或纯JavaScript )中获取了这些功能。 (丁查尔顿,杰森·吉拉姆,艾伦·怀克,1999年)。这些都是非常古老的手册,并且处理过时的浏览器版本(Internet Explorer 4 ...)。

您还可以在不是浏览器引擎的不是Adobe InDesign,NodeJS或ShellJS的JS引擎提供的API中找到这些功能或类似集合。使用JS引擎并不意味着您会找到与另一个引擎相同的API。通常,使用NodeJS和Firefox JS引擎(当前为OdinMonkey)不会做相同的事情。

如果您要使用外部资源(位于服务器中的文件)动态更改页面的内容(即DOM结构),请使用 Ajax 技术。 / p>

最后,in this SO question,您会找到一些获取本地文件内容的方法,但必须由用户手动选择

答案 1 :(得分:0)

如果要创建复杂的网站,则需要Web服务器。假设您的内容不需要服务器端渲染并且已经安装了Apache,那么简单的XHR函数可以帮助您获取内容。如果普通的XHR没有帮助,jQuery也许可以简化事情。