您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds MathJax support to the web version of Anki
// ==UserScript== // @name AnkiWeb MathJax // @description Adds MathJax support to the web version of Anki // @namespace https://giuseppe.eletto.me // @author Giuseppe Eletto // @version 0.3.1 // @license MIT // @match https://ankiuser.net/study/ // ==/UserScript== (function() { // Constants const MATHJAX_CDN = 'https://cdn.jsdelivr.net/npm/mathjax@3' const ANKI_QA_BOX = document.querySelector('div#qa_box > div#qa') const ANKI_QA_OBS = new MutationObserver(l => { const lastMutation = l[l.length - 1] const textNodes = Array.from(lastMutation.addedNodes) .filter(n => n.nodeType === 3) if (textNodes.length === 0) return unsafeWindow.MathJax.typesetPromise() }) // CUSTOM CSS ANKI_QA_BOX.style.textAlign = 'justify' // Setup custom MathJax configurations unsafeWindow.MathJax = { chtml: { fontURL: `${MATHJAX_CDN}/output/chtml/fonts/woff-v2` }, startup: { typeset: true, elements: [ANKI_QA_BOX], ready: () => { // Start watching for "Q&A" div changes ANKI_QA_OBS.observe(ANKI_QA_BOX, { subtree: false, childList: true }) // Continues MathJax startup return unsafeWindow.MathJax.startup.defaultReady() } } } // Append and load MathJax script const mathJaxChtml = document.createElement('script') mathJaxChtml.src = `${MATHJAX_CDN}/tex-mml-chtml.js` document.body.appendChild(mathJaxChtml) })()