Google Chrome のアドレス部分に書き込む簡易エディタ



以下をクリックして選択状態にして、Google Chrome のブックマークバーへドラッグすると、ブックマークレットとしていつでも実行できるようになります。( タイトルは編集で変更してください )

▲ このテキストを Google Chrome のアドレスへ書き込むだけで簡易的なテキストエディタになり、ローカルへ SHIFT_JIS で保存する事ができ、既存のテキスト( SHIFT_JIS と Unicode と UTF8:BOMあり )を読み込む事ができます。

▼ もちろん、通常のWEB ページ上で使用する事もできます


以下が【保存用】のテスト用ソースコードです。( 改行コードが CRLF になるように処理しています )
01.<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
02.<script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.8/FileSaver.min.js"></script>
03.<script src="https://winofsql.jp/js/encoding.js"></script>
04.<script src="https://winofsql.jp/js/save-sjis.js"></script>
05. 
06.<script>
07.$( function(){
08. 
09.        $("#save-action").on("click", function(){
10. 
11.                // テキストエリアのテキストを jQuery で取得            
12.                var text = $("#save-text").val();
13.                // lf のみを crlf に変換
14.                text = text.replace(/\n/g, '\r\n');
15.                // ローカルに保存する
16.                save_sjis( "save-sjis.txt", text );
17.        });
18. 
19.});
20.</script>
21.<div><input type="button" id="save-action" value="Save as Shift_JIS"></div>
22.<textarea id="save-text" style='width:400px;height:100px;'></textarea>

▼ save-sjis.js の内容です
01.var load_save_file_name = null;
02. 
03.var str2array = function(str) {
04. 
05.        var array = [],i,il=str.length;
06.        for(i=0;i<il;i++) array.push(str.charCodeAt(i));
07.        return array;
08. 
09.};
10. 
11.function save_sjis( filename, str ) {
12. 
13.        var array = str2array( str );
14.        var sjis_array = Encoding.convert(array, "SJIS", "UNICODE");
15.        var sjis_data = new Uint8Array(sjis_array);
16. 
17.        if ( load_save_file_name != null ) {
18.                filename = load_save_file_name;
19.        }
20. 
21.        saveAs(
22.                new Blob(
23.                        [sjis_data]
24.                        , {type: "text/plain;charset=shift_jis"}
25.                )
26.                , filename
27.        );
28. 
29.}
30. 
31.function load_sjis( event, target ) {
32. 
33.        var file = event.target.files[0];
34.        load_save_file_name = file.name;
35. 
36.        var reader = new FileReader();
37.        reader.onload = function(event) {
38.                target.value = event.target.result;
39.        };
40. 
41.        reader.readAsText(file,"shift_jis");
42. 
43.}

▼ 読込みのサンプルは以下のようになります
01.<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
02.<script src="https://winofsql.jp/js/save-sjis.js"></script>
03. 
04.<script>
05.$( function(){
06. 
07.        $("#get-text").on("change", function( event ){
08. 
09.                load_sjis( event, $("#save-text").get(0) );
10. 
11.        });
12. 
13.});
14.</script>
15.<div><input type="file" id="get-text"></div>
16.<textarea id="save-text" style='width:400px;height:100px;'></textarea>