使用Prototype或普通Javascript编写文件

时间:2010-07-07 14:29:22

标签: javascript file prototype

我知道这个问题已被问过几千次,但我会再问一遍:有没有办法(甚至是补丁)用Javascript或Protoype写/读一个愚蠢的文本文件?

这仅用于调试目的,不适用于生产。问题是我需要它(至少)使用Firefox和IE(最好是在Windows下)。

提前致谢!

5 个答案:

答案 0 :(得分:3)

无法写入文件,您必须编写服务器端脚本并向该脚本发出请求。如果您使用iframe并将文本文件的位置作为源,并阅读iframe内容,则可以进行阅读。

答案 1 :(得分:2)

可通过JavaScript读取/写入本地文件:查看TiddlyWIki(警告:仅适用于本地文档。)

我实际上使用Single Page Application编写了twFile(SPA),这是TiddlyWiki代码库的一部分:

  1. 适用于不同的浏览器:( IE,Firefox,Chrome)
  2. 这段代码现在有点旧了。 TiddlyWiki刚刚放弃了jQuery插件设计。 (请查看current TiddlyWiki filesystem.js以获取更多最近的实现。虽然不像twFile插件那样为您隔离。
  3. 虽然是作为jQuery插件编写的,但我研究了代码,它几乎与jQuery完全分离。
  4. <强>更新 我上传了proof-of-concept,通过JavaScript访问本地文件。

    <强>更新

    因此,看起来TiddlyWiki的服务器端实现使用服务器“适配器”来修改存储在服务器上的文件,类似于Peter's description。如果由于跨域安全限制而从Web服务器提供页面,则纯JavaScript方法可能不起作用。

答案 2 :(得分:1)

出于安全原因,浏览器中的Javascript不允许您编写本地文件。 可能会随时间而变化,但就目前而言,您必须处理

答案 3 :(得分:1)

仅限服务器端javascript解释器,但这不是您运行javascript的典型环境。

答案 4 :(得分:0)

饼干怎么样?它可以通过javascript访问,它在您的客户端上,它是一个纯文本文件。唯一的问题是它的大小(如果我记得很清楚,最多4k)。

您可以使用浏览器localStorage / userData / globalStorage(取决于您的浏览器版本)。它就像cookie(新的webStorage / HTML5规范),但可以处理更大量的数据。然后,使用一些附加组件(例如firefox上的firebug),您可以轻松读取/复制/过去该值,并做任何与它有关的事情!