以下をクリックして選択状態にして、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>