Greasy Fork is available in English.

Mouse dictionary helper

Mouse Dictionary で引いた結果をAnkiwebのdeckに登録する君

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください。
作者
ozero
1日のインストール数
0
累計インストール数
14
評価
0 0 0
バージョン
0.4
作成日
2021/07/07
更新日
2021/07/09
ライセンス
不明
対象サイト
すべてのサイト

Mouse Dictionary で引いた結果をAnkiwebのdeckに登録する君

英単語の意味だけ調べて済ませてたか、手作業で辞書から単語帳にコピペしてた人へ。辞書で引いた内容を即Ankiwebの単語帳に登録できます。

  1. Mouse dictinaryで単語の意味を表示する
  2. Mouse dictinaryウィンドウをクリック
  3. Ankiwebの単語登録画面が開いて、入力欄にさっき調べてた単語&意味が自動入力される
  4. あとは自動入力の内容を確かめて、Saveクリックして閉じる

なお↑の 2. で Ctrl + クリック したら、自動入力に加えて「自動保存&Ankiwebのタブ自動クローズ」までやります。

セットアップ

まずブラウザにTamperMonkey拡張を入れ、このスクリプトもインストールします。次に以下の手順で連携させます。

  1. 拡張 Mouse Dictionary のオプションを開く
  2. 設定を開く
  3. 上級設定を開く
  4. 項目「HTMLテンプレート」をみる
  5. テンプレート「Mouse Dictionaryウィンドウ全体」のdivタグに、クラス名 mouse_dictonary_helper を足す

足した結果はこうなる

<div class="notranslate mouse_dictonary_helper"
     style="all:initial;
            {{systemStyles}}
            width: {{width}}px;
            height: {{height}}px;
            position: fixed;
            overflow-x: hidden;
            overflow-y: {{scroll}};
            top: 5px;
            background-color: {{backgroundColor}};
            z-index: 2147483646;
            padding: 2px 4px 2px 4px;
            border: 1px solid #A0A0A0;"
>
</div>

んで、設定を保存。

  • もし既に Ankiweb に自分の Deck がある場合
    • Deck への単語の二重登録を防ぐため、既存の登録済みの単語をローカルに記録します。この作業はPCごとに必要です。
    • "https://ankiweb.net/search/" を開いて、検索欄に何も入力しないまま Search をクリックします。
    • Card一覧が表示されます。これで既存の登録済みの単語がローカルに記録されました。画面は閉じて大丈夫です。

以上でセットアップ完了です。

実際の動作(手動追加)

  1. Ankiweb にログインする
  2. ページを開いて、Mouse Dictionary 拡張を実行
  3. 単語をダブルクリックで選択固定
  4. Mouse Dictionary ウィンドウをクリック
  5. Ankiweb のデッキ追加ページが開いて、Mouse Dictinary で表示されていた内容がAutofillされる

実際の動作(自動追加&Ankiwebウィンドウ自動クローズ)

  1. Ankiweb にログインする
  2. ページを開いて、Mouse Dictionary 拡張を実行
  3. 単語をダブルクリックで選択固定
  4. Mouse Dictionary ウィンドウを Ctrl + クリック
  5. Ankiweb のデッキ追加ページが開いて、Mouse Dictinary で表示されていた内容がAutofillされる
  6. 自動でAnkiweb のデッキ追加ページのSaveボタンがクリックされる
  7. 自動でAnkiweb のデッキ追加ページがクローズされる

なんでコンテンツがドメインまたいでるの

GM.setValue, GM.getValue で userscript実行環境側のストレージを経由して受け渡しをしています。