▶ 実 行
▶ 実行
クリア
漢字をひらがな化/カタカナ化
by 雪乃☆雫
/*----------------------------------------------------------------------- [gooラボ](https://labs.goo.ne.jp/)の[ひらがな化API](https://labs.goo.ne.jp/api/jp/hiragana-translation/)を使用しています。 [API利用方法](https://labs.goo.ne.jp/apiusage/)を読んで利用して下さい(ここでコレをこのまま使う分にはいいんですが) ☆特に以下二点重要☆ ※appidはこのまま使用せず、必ず自前でアプリケーションIDを取得して下さい(GitHubのアカウントが必要です) ※gooラボAPIを利用したサイトを公開する際には、gooラボAPIを利用していることを示すクレジット画像の表示が必要です。 -----------------------------------------------------------------------*/ !「https://snowdrops89.github.io/nako3_plugin/Plugin_FileReader.js」を取込む。 !「https://n3s.nadesi.com/plain/751.nako3」を取込む。 #---API設定---------- URL=「https://labs.goo.ne.jp/api/hiragana」 appid=「09ca414796c05ef82bd16dd920df60e0f602d9469c5a8c8ffa40a61b477c11b7」 type=「hiragana」 #---HTML設定---------- HTML=『<fieldset id="option"> <legend>出力タイプ</legend> <input type="radio" name="output_type" value="hiragana" id="output_type_0" checked="checked">ひらがな <input type="radio" name="output_type" value="katakana" id="output_type_1">カタカナ </fieldset> <div id="main"></div><BR> <div id="credit"><a href="https://www.goo.ne.jp/"> <img src="//u.xgoo.jp/img/sgoo.png" width="150" alt="supported by goo" title="supported by goo"> </a></div>』 DOM親要素にHTMLを、HTML設定。 DOM親要素の「行揃え」に「左」をDOMスタイル設定。 「#credit」の「行揃え」に「中央」をDOMスタイル設定。 #---UI作成---------- 「#main」へDOM親要素設定。 改行作成。 「原本」のラベル作成。 空のテキストエリア作成して、原本エリアに代入。 改行作成。 「変換」のボタン作成して、変換ボタンに代入。 「クリア」のボタン作成して、クリアボタンに代入。 「 | 」のラベル作成。 ファイル選択作成して原本ファイル選択に代入。 「Shift_JIS」のチェックボックス作成して、文字コードチェックに代入。 「 |」のラベル作成。 「(ドラッグ&ドロップでも読み込めます)」のラベル作成。 改行作成。改行作成。 「仮名」のラベル作成。 空のテキストエリア作成して、仮名エリアに代入。 改行作成。 「コピー」のボタン作成して、コピーボタンに代入。 #---スタイル/属性設定---------- 原本エリアの「幅」に「99%」をDOMスタイル設定。 原本エリアの「rows」に「10」をDOM属性設定。 原本エリアへフォーカス。 仮名エリアの「幅」に「99%」をDOMスタイル設定。 仮名エリアの「rows」に「10」をDOM属性設定。 原本ファイル選択の「accept」に「.txt」をDOM属性設定。 文字コードチェックの「checked」にオンをDOM属性設定。 #---イベント設定---------- 原本=空配列。仮名=空配列。ファイル=空。C=0。 変換ボタンをクリックした時には、 出力タイプ確認。 仮名エリアに空をテキスト設定。 原本=原本エリアからテキスト取得して、改行で区切る。 原本を反復 obj={"app_id":appid,"output_type":type,"request_id":対象キー,"sentence":対象}。 URLへobjをPOST送信した時には、 結果=対象をJSONデコード。 No=結果["request_id"] 仮名[No]=結果["converted"] C=C+1。 もし、C=(原本の配列要素数)ならば、 C=0。仮名を改行で配列結合して、それを仮名エリアにテキスト設定。。 ここまで。 ここまで。 ここまで。 ここまで。 クリアボタンをクリックした時には、 原本エリアに空をDOMテキスト設定。 仮名エリアに空をDOMテキスト設定。 原本=空配列。仮名=空配列。ファイル=空。 原本ファイル選択の「value」に空をDOM属性設定。 ここまで。 コピーボタンをクリックした時には、 仮名エリアからテキスト取得。 それをクリップボード設定。 ここまで。 原本ファイル選択の「onchange」に、「選択テキスト取得」をDOMイベント設定。 原本エリアへファイルドロップした時には、 選択ファイルリスト=対象。 ファイル=選択ファイルリスト[0] 選択テキスト表示。 ここまで。 ●出力タイプ確認 2回 「#output_type_{回数-1}」の「checked」をDOM属性取得。 もし、それがはいならば、 type=「#output_type_{回数-1}」の「value」をDOM属性取得。 戻る。 ここまで。 ここまで。 ここまで。 ●(objへ|objに|objを)フォーカス ID=objの「id」をDOM属性取得。 「document.getElementById('{ID}').focus();」をJS実行。 ここまで。 ●選択テキスト取得 選択ファイルリスト=原本ファイル選択["files"] ファイル=選択ファイルリスト[0] 選択テキスト表示。 ここまで。 ●選択テキスト表示。 文字コード=空。//空はUTF-8 もし、(文字コードチェックの「checked」をDOM属性取得)=はいならば、文字コードは「Shift_JIS」 文字コードでファイルのテキストファイル開いた時には、 原本エリアに対象をテキスト設定。 ここまで。 ここまで。