Mozilla:讓JavaScript指令碼直接操作本地檔案

來源:互聯網
上載者:User

日前,Mozilla 的 Arun Ranganathan 向 W3C 提交了一個草案,旨在推出一個 JavaScript API,讓 JavaScript 指令碼直接操作本地檔案,Firefox 的最新瀏覽器版本中已經對該 API 提供了大量的支援,不過出於安全考慮,該API 將只對本地檔案提供有限的訪問。

該 API 引入了一個 FileReader 對象,可以非同步載入本地檔案系統中的檔案,並允許開發人員為諸如載入失敗,進度,載入完成等事件分配回呼函數,它提供的方法可以從本地檔案中讀取文本或位元據,並通過一個 abort 方法隨時打斷操作。

FileReader 對象使用戶端的檔案訪問成為現實,使用者不必再象以前那樣首先將檔案上傳到伺服器才能處理,事實上,IE 和 Firefox 已經擁有一些非標準的方法訪問本地檔案,但這些方法並非標準 JavaScript 行為。

FileReader 對象並不需要特別的許可權,但出於顯然的安全考慮,直接使用檔案路徑進行訪問是不允許的,必須結合常規的 HTML file 對象,使用者點擊瀏覽之後,選擇本地檔案,JavaScript 再通過 DOM 引用該檔案並進行操作,這個機制使得該 API 相對安全一些,因為任何本地檔案的擷取都需要使用者的人工參與。

以下例子使用該 API 開啟一個本地檔案並將檔案內容顯示在一個 div 容器中,我們甚至可以在 div 上加上 contentEditable 屬性,使用者可以直接編輯檔案的內容,不過,該 API 並沒有提供將檔案內容寫回本地檔案的方法,因此你編輯的內容無法儲存。

 

隨著 JavaScript 引擎的效率在各大瀏覽器的顯著提高,JavaScript 可以做越來越多的事,本地檔案 API 的引入將讓很多有趣的功能成為現實。儘管該 API 並非多麼重大的技術革命,但它將拓展 Web 應用程式的視野,讓 Web 平台實現越來越多的功能。

本文來源:http://arstechnica.com/open-source/news/2009/11/w3c-publishes-draft-of-new-file-api-spec.ars



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.