ninja33 / ODH

A chrome extension to show online dictionary content.
MIT License
1.41k stars 242 forks source link

2.1.50 QT5 版本不能通过ankiconnect制卡 #238

Closed WritingWithFire closed 2 years ago

WritingWithFire commented 2 years ago

image 在这种情况下制卡会失败,通过ankiweb制卡仍然有效

WritingWithFire commented 2 years ago

我不能确定这个问题是不是我的个例,至少我尝试多次后仍然如此

希望作者能够测试一下这个bug

ninja33 commented 2 years ago

anki的早期版本有这个问题吗?还是说升级到2.1.50 qt5版本才有这个问题。因为anki官方也说了。50版本可能会造成部分addon不工作。你有试过2.1.49吗?

一般来说,addon也好,插件也好。都是跟着anki之前版本来做的。当anki有最新版本出来,相应插件未升级,或者不升级也有可能,因为插件作者不可能时时盯着底层组件的版本,实时升级。这个也称不上bug。如果早先的版本能用,除非你特别依赖新版的特性。否则就老版本先用着呗。

我自己的电脑上还是2.1.35版本的。有空我去看看新版本。

WritingWithFire commented 2 years ago

anki的早期版本有这个问题吗?还是说升级到2.1.50 qt5版本才有这个问题。因为anki官方也说了。50版本可能会造成部分addon不工作。你有试过2.1.49吗?

一般来说,addon也好,插件也好。都是跟着anki之前版本来做的。当anki有最新版本出来,相应插件未升级,或者不升级也有可能,因为插件作者不可能时时盯着底层组件的版本,实时升级。这个也称不上bug。如果早先的版本能用,除非你特别依赖新版的特性。否则就老版本先用着呗。

我自己的电脑上还是2.1.35版本的。有空我去看看新版本。

2.1.49版本可以正常使用,升级到2.1.50 Q5就不能用了

WritingWithFire commented 2 years ago

我可以确认该插件的制卡功能在2.1.50已经失效了

在2.1.49之前运行正常,2.1.50 QT5、QT6版本均不能制卡,而且在QT6版本出现了更大的问题,如图所示:

image

这是在2.1.49版本使用antimoon模板制作的卡片,切换到QT6版本后变成了这样,作者应该知道这张卡片原来是什么样子。。我不知道是什么导致了这种情况,模板?Anki?插件? 这个问题在于卡片格式全部失效,其实这类失效并不是在anki升级之后就作用到所有卡片上,有一定的触发条件,目前我测试得出的触发条件有如下几种:

第一次浏览:

image

再次浏览:

image

ninja33 commented 2 years ago

emmm...如果内容都在。而仅仅是格式失效的话。其实也是有简单的办法实现的。

odh制卡的时候,会把一段css插在正面的第一个那个expression字段(或者你自己映射的那个字段),如果你在anki的卡片编辑状态,用html模式,可以看的 这种样子的样式。你把这段样式复制到anki本身的样式区看看。

至于为什么内含的样式会失效。可能qt6以后,他用的webview不太兼容吧。

其实odh内嵌样式到卡片里,也是为了不懂css的同学方便点。但说到底。卡片样式是anki模版的功能,不是odh的功能。odh只要确保划词的内容都进了anki,至于怎么显示,可以有各种办法。这也是两者的分工和区别。嗯,不能用就暂时回到49版本吧。

另外,非常感谢你提出的这个不兼容问题。我一有时间,会看看怎么兼容一下。

WritingWithFire commented 2 years ago

内容不在哦,点击制卡按钮会显示红叉

WritingWithFire commented 2 years ago

Anki 2.1.51 版本发布了:https://github.com/ankitects/anki/releases

于是我义无反顾的去试了一下毒,好消息是,在新的版本中,已经可以通过ODH制卡了,而且音频、格式均正常,当老黄看到这条评论之后,我会把问题关闭。

此外,再次感谢你的插件

ninja33 commented 2 years ago

谢谢,感谢你的测试。

作者一个人,有时很难跟上每一次软件环境的更新。非常需要你这样的用户,及时给予反馈和提出意见。

再次感谢你的热心帮助🙏