FileSaver.js でローカルにテキストファイルを保存させる事ができます。その際、テキストデータを JavaScript の unicode の配列に変換して、さらに Uint16Array で new Blob() に渡す為のデータに変換します。先頭に unicode 用の BOM をセットして保存すると、unicode のテキストして保存されます。 これは、拡張子が .reg のデータを保存する為に行っていますが、実際には shift_jis のデータでも Windows には登録できると思います。ただ、その場合はもう一つライブラリが必要になります。 JavaScript の内部コード文字列を SHIFT_JIS としてダウンロードさせる方法
<script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/2014-11-29/FileSaver.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script> $(function(){ $("#btn").on("click",function(){ var text = $("#text").val(); text = text.replace(/\n/g, '\r\n'); var array = str2array( text ); var unicode_data = new Uint16Array(array); var bom = new Uint8Array([0xFF, 0xFE]); // unicode bom saveAs( new Blob( [bom,unicode_data], {type: "text/plain;charset=unicode"}) ,"target.reg" ); }); }); var str2array = function(str) { var array = [],i,il=str.length; for(i=0;i<il;i++) array.push(str.charCodeAt(i)); return array; }; </script> <textarea id="text" style='width:400px;height:100px;'></textarea> <br> <input id="btn" type="button" value="保存">
|
【JavaScriptの最新記事】
- Google Visualization API の円グラフと通常テーブルの表示を jQuery のプラグインで作成する
- 【改造】雪を降らす snowstorm.js に 風向きを外部から設定できるオプションを追加しました
- bit.ly のブックマーレットを開けて見てみると、『tumblr』のを転用してました
- prototype.js による onload イベントの登録
- jQuery の bind メソッドで一般的な onload イベントを実装
- JavaScript : Safari for Windows 5.0.3 の困ったバグとその対処方法 : alert、confirm でフォーカスがセットされていない。
- google.load + YUI Loader で、カラーピッカーを設置
- jQuery の $(document).ready の実際の中身と $(window).load と prototype.js での onload 実装と $ メソッドをリネームして混在使用
- JSON 文字列の末端の値を PATH 形式で参照する