我为此找到了一些可行的答案。在 AnkiDroid 卡片模板中获取角色数据。(离线)
因为我们可以使用这个访问js和图像文件
<script src="some-js-file.js"></script>
<img src="some-image.png"></img>
要访问json
,我尝试了相同的步骤,但CORS
出现错误,因此我使用了后续步骤。
<!-- It will give CORS error -->
<script src="我.json" type="application/json"></script>
例如,访问我.json
文件
- 将 的内容复制
我.json
到 javascript 文件我.js
中,使用任何变量名,
var char_data = {"strokes":["M 350 571 Q 3....}
- 添加以下标签以访问该 js 文件
<!-- Note : file type & name -->
<script src="我.js" type="text/javascript"></script>
- 现在也更改代码
_hanzi-writer.min.js
要更改代码,首先使用此https://beautifier.io美化代码,然后进行以下更改 a) 删除要从 Internet 加载的链接 b) 更改此内容200 != r.status
并替换/添加此内容
JSON.parse(JSON.stringify(char_data))
(可能更好的替换可以在这里完成)

....
....
// Note : char_data variable come from 我.js file
r.overrideMimeType && r.overrideMimeType("application/json"), r.open("GET", "", !0), r.onerror = function(t) {
....
....
4 === r.readyState && (200 != r.status ? i(JSON.parse(JSON.stringify(char_data))) : 0 !== r.status && n && n(r))
....
....
- 所以最终的脚本会像这张卡片的正面
{{Pinyin}}
<div id="character-target-div"></div>
<script src= "我.js" type="text/javascript"></script>
<script>
var data = JSON.stringify(char_data);
console.log(data);
</script>
<script src="_hanzi-writer.min.js"></script>
<script>
var writer = HanziWriter.create('character-target-div', '我', {
width: 150,
height: 150,
showCharacter: false,
padding: 5
});
writer.quiz();
</script>
以上所有步骤都是针对单个文件的我.js
要访问其他字符重复相同。
对于类似的问题查看我的代码
https://github.com/infinyte7/Anki-xiehanzi
https://github.com/infinyte7/hanzi-writer-data-in-javascript