2

https://coderwall.com/p/lhsrcqからのコンテンツの編集可能な URL トリックを見ました

    data:text/html, <html contenteditable>

ブラウザーを txt ファイルとして使用できますが、html ページを保存するとコンテンツが失われます。

src のような iframe を作成することで、入力していた内容を保存できるブックマークレットとして使用できる文字列を作成しました

    data: Content-type: application/octet-stream

加えて、ブラウザの URL の contenteditable 要素のコンテンツ

http://pastebin.com/4z8tttuAで私のコードを確認してから、ブラウザの URL にコピーしてください。

私の問題は

  1. すべてのスペースが「 」に変わり、改行が消えます。これは、コンテンツの編集可能な要素が div の場合です。テキストエリアで試してみましたが、うまくいきません

  2. ファイルに「download」以外の名前を付けます(後でdownload(1)、download(2)...になります)

4

1 に答える 1

2

ここにあるものをクリーンアップして修正しました:http://pastebin.com/sJXVvRUB

それがあなたが望むことをすると思います。必要に応じて、ボタンのように見えるようにリンクのスタイルを変更する必要があります。また、Chrome でのみテストしたので、他の小さな変更が必要になる場合があります。

あなたの問題と私がそれらをどのように修正したかについて:

  1. 連続するすべての空白が(誤って)単一のスペースとして保存されることを意図していない限り、問題の「スペース」の部分を完全に理解しているかどうかはわかりません。それが、実際に HTML がそれをレンダリングする方法です。あなたnote = note.replace("&nbsp;", "");をに置き換えることでそれを修正しましたnote = note.replace('&nbsp;', ' ');。非改行スペースを何も置き換えていませんでした。改行については、保存する前にメモをエスケープしました: escape(note). また、呼び出しを微調整してreplace()、もう少しシンプルでターゲットを絞るようにしました (少なくとも Chrome では)。
  2. ファイル名を制御するために、フォームとボタンをリンクに置き換えて、ここに記載されている「ダウンロード」属性を使用できるようにしました。 -download (これも現時点ではほとんど Chrome でのみサポートされています)。

お役に立てれば!

于 2013-03-23T14:54:52.997 に答える