繁体   English   中英

使用Javascript在Chrome和/或Firefox中写入文件

[英]Use Javascript to write to file within Chrome and/or Firefox

我正在创建一个开发工具,该工具将基于SVG Sprite Sheet图形文件创建CSS。 该脚本需要将CSS写回到/public/css/main.css。 因此,不,我对沙盒文件结构不感兴趣(尽管这很酷)。

请记住,这不是用于生产。 它只是简化我们的工作流程的开发工具(并有望使Web设计/开发人员社区受益)。 我研究了--allow-file-access铬开关,但仍不确定是否允许写入特权。

因此,我的问题是:如何使用浏览器中运行的javascript将字符串写入文件? 请记住,这不是用于生产。

简单答案:

由于浏览器的安全性限制而无法执行。

您可以添加如下标记:

--allow-file-access 

在Chrome操作系统上,除了某些列入白名单的目录外,file://访问被禁用。 此开关重新启用file://进行测试。

--allow-file-access-from-files

默认情况下,file:// URI无法读取其他file:// URI。 对于需要旧行为进行测试的开发人员来说,这是一个替代。

但是所有这些都是为了阅读。 我怀疑您会采用这种方法成功。 MMaybe你应该切换到node.js 在那里您可以读取/写入文件(我认为)

更新

对于chrome,您可以创建NaCL-extension 有一个标志可以禁用snadbox进行NaCL扩展: --allow-nacl-file-handle-api allow --allow-nacl-file-handle-api

PS:我认为浏览器将是编写文件最困难的运行时环境,因为:

  1. 没有(或至少没有)文件API
  2. 文件API无法访问主机文件系统
  3. 浏览器开发人员会尽力创建沙箱。

我认为这在chrome / firefox中不可行,但我已经看到了webkit桌面应用程序SDK的 这些类型的SDK应该具有文件I / O API

潮流SDK看起来很有趣。

如果您没有制作Chrome / Firefox扩展程序或桌面应用程序(按照您所说的,我肯定不是),则无法在浏览器中使用Javascript进行此操作。 您应该将服务器端语言用于此类操作,并且可能将更改直接发送到服务器,然后再发送回客户端,但是我认为这不符合您的需求。

您可能值得花时间探索File-System API

生成的文件存储在Chrome应用数据中。 您无法写入文件系统上其他位置的文件。 然而,也许生成应用程序数据中的文件并将其拉到另一个目录后生成的脚本就足够了吗?

目前仅在少数浏览器中可用,Chrome绝对包含在内。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM