Tools

Anki で JavaScript を使う

投稿日:2021年8月26日 更新日:

Anki日本語マニュアル Wiki には、JavaScript に対して以下の記載があります。

(省略)これは高度な機能であり、特定の Javascript が動作することを保証できませんし、動かない場合のサポート提供もできません。迷ったら、使用を避けるのが一番です。
カード表示の実装は Anki クライアントごとに異なっており、プラットフォームごとに動作のテストをする必要があります。(省略)

カードとテンプレート (Cards and Templates) – Anki日本語マニュアル Wiki*

確かにその通りだろうと思うのですが、通常 Anki はプライベートなツールであり、自分で作ったデッキは自分で使うだけなので、他人の使うプラットフォームまでテストする必要はそもそもないでしょう。自分の環境で動けば十分です。

また、JavaScript の実装に関しても 最近では標準化が進んでいるおかげで、よほど細かい機能でない限り、1つのプラットフォームで動作すれば他のプラットフォームでも動くだろうと予想されます。

ところで、Anki のテンプレートに JavaScript コードを記述する際、私は以下のように書いています。

{{Front}}

<script> 
(() => {
  // ここにコードを書く

})()
</script>

実行したいコードを無名関数に閉じ込め、その無名関数を即時実行しています。こうすることで、この中で定義した変数の影響範囲がこの無名関数内に限定され、グローバルなスコープを汚染することがなくなります。但し、Anki だとそれほど複雑な処理を書くことはないでしょうから、ここまでする必要はないかもしれません。

ときどき、共有デッキの記述を見て参考にさせて貰っています。よりよい書き方があれば取り入れていきたいと思っています。

📂-Tools
-

執筆者:labo


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

Evernote

【Evernote】検索でヒットするはずのノートが、ヒットしない場合の対処法

【Evernote】検索しても、特定のノートがヒットしない場合の対処法について説明します。

Anki

Anki: 新規カードの表示順序を変更する

Ankiで、新規カードの表示順序を変更する方法を紹介します。

Evernote

Evernote の Template 機能 2018

2018年9月 Evernote に追加された「テンプレート」機能について紹介します。 目次1. Evernote のテンプレート機能2. テンプレートの保存方法その1: オンラインギャラリーからテン …

Evernote

Android 用 Evernote 8.9 で検索ができない問題

Android 用 Evernote バージョン 8.9 で検索ができない問題についての対応策を書いています。

Web

GitHub のプライベートリポジトリ作成が無料になりました

GitHub において、無料ユーザーでもプライベートリポジトリが作成できるようになりました。 実際に無料アカウントで試したところ、リポジトリの作成ページで「Private」を選択することができました。 …