2013-02-25 63 views
0

我正在構建一個離線的web應用程序,我希望能夠在用戶保存之前更改頁面的html。因爲我似乎無法找到一種方法來觸發從javascript(除IE外)作爲功能保存,我只需要做一些準備工作,然後讓瀏覽器保存頁面。我不是試圖強制用戶做任何事情,只是試圖更新頁面,以便將其狀態保存到正在保存的頁面的實際html中。我可以用一個按鈕來做到這一點,但我必須要求用戶按下Ctrl + S,這根本不光滑。離線web應用程序句柄保存在javascript

所以我要麼能夠觸發JavaScript的瀏覽器保存,要麼在允許默認回調發生之前自己處理保存事件。

這可以通過跨瀏覽器支持的方式來完成嗎?我發現了幾個頁面處理這個問題,但沒有一個按照我的意願清除它,所以很抱歉如果這聽起來像是重複的。

回答

0

這現在已經成爲可能blobs。 FileSaver.js是一個跨平臺的解決方案。這將允許保存任何二進制資源。

0

你可以使用數據URI的。 This question類似,會提示用戶下載的JavaScript生成的CSV文件。

可能還有其他的解決方案,但我認爲他們會是專有的,所以沒有前瞻性。

+0

數據URI的問題是我無法適當地命名它們,並且加載時間很糟糕,因爲它必須從base64中的字符串加載整個網頁。如果我使用html數據URI,那麼網頁只是重定向而不下載,但如果我將它作爲數據保留,根據瀏覽器,它甚至可能不會詢問用戶使用什麼名稱,當然也不會默認爲正確的擴展名。也許這可以得到解決,但我還沒有看到一個很好的例子。謝謝,不過 – Mobius 2013-03-13 14:37:47