Anki: JavaScript を使って「解答を表示」ボタンを押す方法

記事
IT・テクノロジー

1. はじめに

Anki のカードでは、[解答を表示] ボタンを押す操作を JavaScript のコードで実行することができます

2. 実現方法

まず、カードの「表面のテンプレート」に、解答を入力するフィールド
2021-10-19_004a.png
を追記します。このフィールドは、CSS を使って非表示にしておきます(style="display:none")。
2021-10-19_004.png

このフィールドは実際のカードでは、<input type="text" id="typeans" ...> というHTML要素に変換されますが、この HTML要素に対して Enter キーを押すと、[解答を表示] ボタンを押したのと同じ動作をさせることができます。
この操作を JavaScript コードで実現したのが以下の関数です。
これも「表面のテンプレート」に記述します。

2021-10-19_003.png

・typeans という Id を指定して、「解答を入力するフィールド」を表すHTML要素を取得しています。
・引数で受け取った値を、この要素の value プロパティにセットします。
・この要素に対して Enter キーを押すイベントオブジェクトを作成し、dispatchEvent メソッドを実行して発火させます。

あとは、JavaScript コード内の「カードの表面を終了させたいところ」で、この関数を実行してください。

3. おわりに

Anki で複雑な JavaScript コードを実装したい場合に役に立つと思います。

ラボラジアンでは、Webに関するサービスを出品しております。こちらもよろしくお願い致します。

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す