【问题标题】:File handling in JavaScriptJavaScript 中的文件处理
【发布时间】:2012-04-16 21:30:47
【问题描述】:

在 javaScript 中是否可以在同一目录中创建一个 html 文件?在谷歌上搜索后,我发现像这样使用 ActiveXObject:-

var fso = new ActiveXObject("Scripting.FileSystemObject");
        varFileObject = fso.OpenTextFile("C:\apache-tomcat-7.0.23\webapps\proof\web.html", 2, true,0);
        varFileObject.write(data);
        varFileObject.close();

但它显示一个错误,即 ActiveXObject 未定义或不存在。我不确定为什么会出现这个错误。这个代码浏览器是特定的吗? 我正在使用 chrome,我需要使用 javascript 编写 html 文件。 请帮我在上面的代码中修改什么以便它可以运行。或者帮我找一些其他的选择。

【问题讨论】:

  • TiddlyWiki 以这种方式进行本地文件 I/O - oldwiki.tiddlywiki.org/wiki/How_To/…
  • ActiveXObject 是 IE 特定的。
  • 这可能对你有帮助:- stackoverflow.com/questions/292566/…
  • 我只是在想,如果允许 javascript 制作文本文件,那么这不是安全风险吗,因为这样任何网站都可以在用户的​​机器上存储某种文件。我没有读过其他技术只是一个随机的想法

标签: javascript html file-handling


【解决方案1】:

ActiveXObject 是一个 IE 唯一的东西,即使这样,用户也会被提示是否要使用它,并随后警告危险。

浏览器无法访问文件系统,这是有充分理由的。想象一下,如果任何旧网站都可以将文件写入您的磁盘!

【讨论】:

    【解决方案2】:

    ActiveX 对象仅适用于 Internet Explorer。并且不允许浏览器对您的文件系统进行任何更改。但是,如果您需要保存 html 页面,那么您必须做一些额外的事情,例如将 html 页面的 url 或整个页面作为字符串发送到服务器,使用 tomcat 在 localhost 上托管服务器,您可以使用 java 代码来存储获取的您在您的机器上发送的 url 或字符串。我也做过同样的事情。如果您需要,我也可以为您提供代码。 (顺便说一句,代码很简单)。 要使用 URL 获取页面,您可以使用 Jsoup 库,它是非常好的 html 解析器。 希望这会有所帮助!

    【讨论】:

    • 谢谢大佬!!知道了...我想这会再次感谢:) :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    • 2012-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-24
    • 2011-06-26
    相关资源
    最近更新 更多