簡體   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