2013-03-23 50 views
2

我看到https://coderwall.com/p/lhsrcq如何保存<HTML CONTENTEDITABLE>內容爲文本文件

data:text/html, <html contenteditable> 

內容編輯網址招它可以讓你使用瀏覽器作爲一個txt文件,但是當你保存HTML頁面內容丟失。

我做了可以作爲一個書籤,可以讓您保存你輸入的內容通過類似

data: Content-type: application/octet-stream 

創建與SRC的iframe加上CONTENTEDITABLE元素在瀏覽器的URL內容的字符串

你可以看到我在http://pastebin.com/4z8tttuA代碼,然後將其複製到瀏覽器的網址

我的問題是

  1. 所有的空格變成' '並且回車消失。這是當我的內容可編輯元素是一個div。我有一個textarea嘗試它,它也不起作用

  2. 名不是 '下載' 等文件的東西(後來成爲下載(1),下載(2)...)

+0

@ChristianStrempfer感謝您的糾正。@ billybradley編輯時使用堆棧片段 – igaurav 2014-11-25 17:13:09

回答

2

我清理和固定你有什麼,在這裏:http://pastebin.com/sJXVvRUB

認爲它你想要做什麼。如果需要,您仍然必須重新鏈接以使其看起來像一個按鈕。我也只在Chrome中進行了測試,因此可能需要進行其他小修改。

至於你的問題,我是如何解決他們:

  1. 我不知道我完全理解這個問題的「空間」的一部分,除非你的意思是,所有的連續空白得到(錯誤地)保存爲一個空間。實際上,HTML就是這樣呈現的。我通過將note = note.replace("&nbsp;", "");替換爲note = note.replace('&nbsp;', ' ');來解決此問題。你沒有任何東西來替換非破壞空間。對於換行符,我只是在保存之前逃過了註釋:escape(note)。我還調整了replace()的呼叫,使其更簡單和更有針對性(至少在Chrome上)。
  2. 爲了控制文件名,我用一個鏈接替換了表單+按鈕,這樣我就可以使用「下載」屬性,這裏記錄:https://developer.mozilla.org/en-US/docs/HTML/Element/a#attr-download(目前大部分只支持Chrome)。

希望這會有所幫助!

+0

您真是太棒了謝謝! – okwme 2013-03-23 19:31:48

+0

謝謝你。我們可以在HREF屬性中傳遞的數據是否有限制? – iAnuj 2013-07-02 09:16:58

+0

@iAnuj,你的意思是數據量或類型?它看起來像你也可以傳遞二進制數據,但我不確定是否有一個大小/長度的限制,如果有,它會是瀏覽器還是機器相關。實驗! – Noyo 2013-07-04 08:10:12

相關問題