GoldenDict(Linux/macOS/Windows)基于Qt5.15.2/Qt6.X版本

我不是用的 qt 6.3,我系统是 archlinux,用的 这个 aur:AUR (en) - goldendict-webengine-git 。你windows系统试试这里最新的 release 的 qt 5.15 版本:Releases · xiaoyifang/goldendict · GitHub

这个图标是极简风,也好看 只是好像跟顶部现有的其他UI图标不是很搭配。

1 Like

我可能没表达清楚,词典本身是支持,之前我用的 goldendict-webengine 对词典的这个功能没有支持。

1 Like

以后有更好的,再换。

qt 6 webengine 运行更流畅,也有增加特性,不想再用回 qt 5的版本了

2 Likes

支持一下~感谢发布~

textContent和innerText获取到的结果有可能是不一样的。innerText会受到标签样式的影响,如果标签设置了不可见的话,比如display:none,读取到的就是空文本。如果标签是块级元素的是话还会读取到换行符,而textContent就不需要读取标签样式,性能也相对更好。

2 Likes

刚看到大侠修改的文件,完美解决!!太感谢了!

可能和版本有关,看了下大辞海的javascript脚本,原版写得有点复杂,问题也有可能出在使用innerHTML替换body的时候,innerHTML的替换并不是立即执行的,而innerText是读取的已渲染的文本,在body重新渲染的间隙,此时不止是label标签,任意标签的innerText读取到的字符串有可能都是空白。

测试了下,给proc(’'label.juan_drop", …) 加上setTimeout延时运行,innerText可以读取到字符串。版本是QtWebEngine/6.3.0 Chrome/94.0.4606.126 Safari/537.36 GoldenDict/webengine。

setTimeout(function () {
    proc(
        'label.juan_drop',
        function (e) {
            e.innerHTML = '<span>' + e.innerText + '</span>';
        }
    );
}, 0);

PS 这种对body,label的嵌套替换,表现很奇怪,测试了83版本,又没有这个问题。版本是QtWebEngine/5.15.2 Chrome/83.0.4103.122 Safari/537.36 GoldenDict/webengine。

2 Likes

应该是这个原因

大辞海,修改后的css,是#998楼的吗?

1 Like

除 最后一个,其他的基本可以显示了。

998楼的只是修复的js文件,css在这里:

1 Like

多谢大大,太棒了!!

不用称我大大的

经过测试,这些词典除了OED都能显示出来了,不过还是有些问题,反馈如下:

Merriam-Webster词典样式异常(上一个GD qt 6.3版没问题):

https://www.merriam-webster.com/dictionary/%GDWORD%

Dictionary.com部分乱码:

https://www.dictionary.com/browse/%GDWORD%

朗文词典乱码:

https://www.ldoceonline.com/dictionary/%25GDWORD%25

The Free Dictionary of Idioms没有样式,图像不加载:
https://idioms.thefreedictionary.com/%GDWORD%

Online Etymology Dictionary没有样式,图像不加载:

https://www.etymonline.com/search?q=%GDWORD%

辞海图标

Qt5WebEngine.Win64 卷名变形
mdx #995,css #997,js #998

辞海第七版的图片和音频图标都加载不出来了:

后续看下。。。。