0.最近学习需要,下载了anki的安卓端,但是在使用选择题的卡片模板的时候,遇到了bug(因为这个软件免费,所以作者也没有花很多时间维护吧=_=.IOS端是没有这个bug的,但是IOS需要128软妹币,好贵。。)。
1.bug内容:这个卡片模板,正面是题干和选项,点击显示答案之后,会显示卡片背面,背面也是题干和选项,选项会被橙色标记。在此基础上,有两个小功能:①每次打开同一张卡片的时候,选项顺序要随机排列。②卡片正面点击的选择项会在背面判断正误,错误的话需要红色标记。如下图所示
初始状态
点击选择项后的状态
显示答案之后
实际遇到的问题就是,显示答案之后,正面的选择项的值没有办法简单传递给背面的卡片,导致错误的红色样式不能正确表示。
2.解决办法:anki的模板是使用了【py】这个变量来传递选择项的值的,在js脚本里面没有找到py这个变量,我觉得应该是anki的后端的变量,因为anki的正反面的DOM是严格隔离的,所以没有办法在正反面共享同一个变量值。模板本身使用py这个变量,应该是经由后端去把正的值传递给后面的脚本了,我试过在Windows客户端和Edge,Google浏览器都是可以的,网上说IOS客户端也可以。但是实测安卓客户端不行,我的解决办法是摒弃原先使用的py变量,使用【sessionStorage】存储正面的值,问题得到解决。
sessionStorage.setItem("optionList", optionOl.innerHTML)// 存储正面选择项的顺序 sessionStorage.setItem("optionChecked", radio.id)// 在选择项的点击事件里存储选择的答案 sessionStorage.clear()// 使用完后最好清除掉内存
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现