#chiroruLab

趣味と日々の雑記録

「辞書アプリで調べる」を選択制にしてみました

f:id:chiroru_27:20130821004125p:plain
ちょっとワンステップ。
これだけでも少しはマシになるかと。

自動で判断してくれるのも便利なんですがね



どうも、@chiroru_27 です

前回から引用:

タイトルで「最適な〜」などと大層なこと書きましたが
実際は日本語は日本語、英語は英語の一方通行でしか対応していません(笑)

完全に機械に判断を任せれば、速度の面では申し分ないのですが
どうしても、臨機応変さには難があります。

そこで、ワンクッションいれて
辞書判断能力はそのままに、ユーザにもどちらの辞書がいいか尋ねる方法をとってみました。

違い。


f:id:chiroru_27:20130821004125p:plain

ダイアログが表示されるようになりました。


このバージョンでは、選択された辞典の結果を表示
その後、ユーザにその辞典でいいかを尋ねるようにしました。

ダイアログの内容はこのようになっています。

'候補アプリ'で "言葉" を調べますか?

キャンセルの場合は、'候補アプリ2'で検索します。

拡張をしやすくしたつもり。


候補の辞書の変更を簡単にしました。
DictionaryListにこんな形で辞書情報を登録しています

'アプリ名' , 'URLスキーム(キーワードの前まで)' ,

想定では2つのアプリを切り替えるように作ったので
3つ以上のアプリを登録するのには対応していません。

ブックマークレット


これが本体です。前より少し長いです。

javascript:
(function() {
 var query = decodeURIComponent(window.getSelection());
 var nowPage = encodeURIComponent(location.href);
 var callback = '&src=' +nowPage+ '&srcname=Safari';
 var openDictonary, switchDictionary;
 var DictionaryList = [
  'ウィズダム英和辞典2' , 'mkwisdom2://jp.monokakido.WISDOM2/search?text=' ,
  '大辞林' , 'mkdaijirin://jp.monokakido.DAIJIRIN/search?text='
 ];
 
 function cancelConvert(option) {
  var num;
  switch(option) {
  case 0:
  case 'AppsName':
   if(switchDictionary == 0) num = 2;
   if(switchDictionary == 2) num = 0;
  break;
  case 1:
  case 'AppsURL':
   if(switchDictionary == 0) num = 3;
   if(switchDictionary == 2) num = 1;
  break;
  }
  return num;
 }
 
 if(query != "") {
  if(query.match(/[^0-9A-Za-z!-\/\s]+/) == null) switchDictionary = 0;
  else switchDictionary = 2;
  
  openDictonary = DictionaryList[switchDictionary] + 'で "' + query + ' "を調べますか?\n\n';
  openDictonary += 'キャンセルの場合は、' + DictionaryList[cancelConvert('AppsName')] + 'で検索します。';
  
  if(window.confirm(openDictonary)) switchDictionary++;
  else switchDictionary = cancelConvert('AppsURL');
  
  location.href =  DictionaryList[switchDictionary] + encodeURIComponent(query) + callback;
 } else query.removeAllRanges();
})()

機能・使い方


機能

  • 選択範囲を辞書で検索
  • 辞書は選択内容に応じて判定。
  • ユーザにその辞書でいいかの確認ダイアログを表示。
  • コールバックで、同じページに直ぐに戻れる

使い方

メリット・デメリット


メリット

  • 選択範囲の内容で辞書を自動でセットするので、ユーザは基本OKを押すだけ
  • もしも自分の考えと機械の判断が違うなら、キャンセルを押して、辞書を切り替えるだけ


デメリット

  • ダイアログで選択する操作が増えたので、速度の面では前作と比べると不利です



そうそう
9月になったので、ブログのデザインを新しくしました^^
テーマストアのものをベースに作ったので、前よりは統一感あるかと。
前のは見辛かったですからね...(汗)

ただ、画像の表示だけが思うように出来なかったので
それはまた今度。

それでは、また。