本贴正文已更新
谢谢糖果老师 ![]()
可能还要反馈一个小bug,就是刚下载好,点字头会显示出例句,但是之后关机或者重启后再打开,怎么也点不出来了。
弱弱的问一下,楼主的百度网盘文件里有两个mdd文件,两个css文件,都需要一起下载使用吗
再请教一下,怎么才能默认显示例句啊
此版本目前只适配欧路win端,暂没有适配其他软件的打算
————————————————————
此版本是我学习过程的副产品,一切功能都以我的个人习惯为主。大家反馈的bug和改进意见如果对我的学习有帮助,我会采纳,并想办法解决。如果对我的学习没有帮助,我也不想花时间去研究。
如果意见未被采纳的话建议去隔壁看看。karx 的作品的普适性很广,基本可以满足所有用户的需求,而且人也心细,反馈的问题都能解决。
当然,如果有学习力的话,坛内有许多不错的教程,而且我提供的css和js文件里都有详细的注释,如果想自己改一版也是比较方便的 ![]()
受教了。![]()
![]()
首先,本贴不会提供默认显示例句的版本,因为这和我的个人习惯相背。
其次,这个比较简单,建议你按照我的介绍,自己动手试一试。
- 你可以随便打开某一个大数据模型,例如deepseek。
- 把js文件扔进去,然后询问你的要求。deepseek会告诉你具体删除那一段代码
- 然后,用记事本打开js文件,按照ai的提示修改代码。记得保存

————————————————————
此版本是我学习过程的副产品,一切功能都以我的个人习惯为主。大家反馈的bug和改进意见如果对我的学习有帮助,我会采纳,并想办法解决。如果对我的学习没有帮助,我也不想花时间去研究。
如果意见未被采纳的话建议去隔壁看看。karx 的作品的普适性很广,基本可以满足所有用户的需求,而且人也心细,反馈的问题基本都能解决。
当然,如果有学习力的话,坛内有许多不错的教程,而且我提供的css和js文件里都有详细的注释,如果想自己改一版也是比较方便的 ![]()
其次,这个比较简单,建议你按照我的介绍,自己动手试一试。
-
你可以随便打开某一个大数据模型,例如deepseek。
-
把CSS文件扔进去,然后询问你的要求。deepseek会告诉你具体删除那一段代码
-
然后,用记事本打开CSS文件,按照ai的提示修改代码。记得保存

感谢 大佬给了渔了,可以学着摸索尝试了 ![]()
感谢制作分享精品词典资料
函数getToggleTargets对于.example 元素的逻辑判断使得一些文本永远不被显示出来。现在修改如下:
// 匹配目标元素
if (
node.classList && (
node.classList.contains("expcn") ||
node.classList.contains("colloexa") ||
node.classList.contains("propform") ||
node.classList.contains("propformprep") ||
node.classList.contains("thesref") ||
node.classList.contains("reflex") ||
node.classList.contains("expl") ||
node.classList.contains("explcn") ||
node.classList.contains("collocn") ||
node.classList.contains("gramcn"))
) {
return NodeFilter.FILTER_ACCEPT;
} else if (node.classList && node.classList.contains("example")) {
let parent = node.closest(".content")
if (parent && !parent.querySelector('.def-marker')) {
return NodeFilter.FILTER_SKIP;
}
return NodeFilter.FILTER_ACCEPT;
}
3个多月了,没有见新升级啊。
现在,Gemini 3(需要谷歌账号)上它应该可以解决你的这个需求。我试过它来调整朗五。
参考
此下面是有效代码由Gemini 3,其位置是根据我的需求。该部分.js基于朗五。
// AI for moving the speaker icons and POS to the front of the headword
function pronCodeSetup() {
// Fix for Qt 5.12.3: Order = POS -> Speaker Icons -> Headword (.HWD)
if (/qt5/.test($('.lm5ppbody').attr('class'))) {
$('.ldoceEntry > .Head').each(function() {
var $head = $(this);
var $hwd = $head.children('.HWD');
// Select Part of Speech and speaker icons
var $pos = $head.children('.lm5pp_POS');
var $bre = $head.children('.speaker.brefile');
var $ame = $head.children('.speaker.amefile');
// We use prependTo($head) to move elements to the very beginning.
// We prepend them in reverse order of desired display
// to achieve: [POS] [BRE] [AME] [HWD]
if ($hwd.length > 0) {
if ($ame.length > 0) $hwd.before($ame);
if ($bre.length > 0) $hwd.before($bre);
if ($pos.length > 0) $head.prepend($pos); // Prepend POS to the very front
}
// Apply styling to ensure visibility and proper horizontal alignment
$pos.add($bre).add($ame).css({
'display': 'inline-block',
'margin-right': '2px',
'vertical-align': '0%'
});
});
}
// Original click logic for PronCodes
if (!isMDDExisting() && !isMobile() && !hasElement('.lm5ppbody.chrome.desktop')) {
$('.ldoceEntry > .Head > a.PronCodes')
.css('cursor', 'default').attr('href', '#')
.on('click', function () {
return false;
});
return;
}
$('.ldoceEntry > .Head > a.PronCodes')
.each(function () {
var _selector = 'a.speaker[href!="{}"]'.replace('{}', $(this).attr('href'));
if ($(this).siblings(_selector).length > 0) {
$(this).attr('hrefalt', $(this).siblings(_selector).attr('href'))
}
})
.on('click.pronCode', function () {
var _href = $(this).attr('href');
if ($(this).is('[hrefalt]')) {
setTimeout(function (element, href) {
$(element).attr('href', href);
}, 200, this, $(this).attr('hrefalt'));
$(this).attr('hrefalt', _href);
}
if (isOnlinePron()) {
var _selector = 'a.speaker[href="{}"]'.replace('{}', _href);
$(this).siblings(_selector).trigger('click');
return false;
}
});
} // The end of AI
刚试了一下,有一定可行性。在我的初步测试中,雀食重新排列了顺序,但是出现了元素混乱以及乱码的情况,而且存在部分特例无法重新排列——需要花点时间研究一下 ![]()
processContent: function() {
// === 新增:调整词头行显示顺序 ===
var entries = document.querySelectorAll('.entry');
Array.prototype.forEach.call(entries, function(entry) {
// 获取词头行相关的元素
var hyphenation = entry.querySelector('.hyphenation');
var pos = entry.querySelector('.pos');
var prons = entry.querySelectorAll('.pron, .amevarpron');
var speakers = entry.querySelectorAll('img[src*="spkr"]');
var infllab = entry.querySelector('span.infllab'); // (plural ...) 所在的容器
// 只有当核心元素存在时才执行移动,避免破坏其他布局
if (hyphenation && pos) {
// 获取词头行的容器(通常是 entry 自身或其第一个子节点)
var headerContainer = hyphenation.parentNode;
// 目标顺序: 1.词头 -> 2.词性 -> 3.喇叭+音标 -> 4.复数形式
// 1. 确保词性 (noun) 紧跟在词头后面
headerContainer.insertBefore(pos, hyphenation.nextSibling);
// 2. 依次移动喇叭图标和对应的音标
// 假设第一个喇叭对应第一个音标,第二个喇叭对应第二个
if (speakers.length > 0) {
for (var i = 0; i < speakers.length; i++) {
headerContainer.appendChild(speakers[i]); // 移到后面
if (prons[i]) {
headerContainer.appendChild(prons[i]); // 音标紧跟其后
}
}
} else {
// 如果没有喇叭图标,只移动音标
Array.prototype.forEach.call(prons, function(p) {
headerContainer.appendChild(p);
});
}
// 3. 将复数形式 (plural rarities) 移到最后
if (infllab) {
headerContainer.appendChild(infllab);
}
}
});
// === 原有的后续处理逻辑 (移除符号、处理斜杠等) ===
var elements = document.querySelectorAll('.hyphenation, .arrow, .colloexa .collo');
// ... 后续代码保持不变 ...
不知道你的过程,要不然你试试这样做,仅参考。
- 上传该.css与该.js至Gemini 3/Fast(其它模式上它的回复似乎太久)。
- 复制该相关代码(Copy as HTML)从该检测器于该词典软件。
- 给提示词与该被复制过的代码(过长代码会被省略)来询问Gemini 3。
- 给该标签可能会比较快来完成,如:a.amesnd/a.bresnd之类的。
题外:
我是有测过这版(Dean版),LDOCE6_New.js.txt 删掉.txt (3.3 KB)。
我的需求仅仅是这样如下图中。
![]()
印象中该.js于cdmaer版与Dean版是一模一样,但是在MDX里面它们文本标签不太一样。
而karx版又改动过cdmaer版,添加许多功能在.js上,亦改过不少文本标签。
以上,逻辑上不影响你的那个需求,Gemini 3应该短时间内即可正确满足。你那个需求是稍微麻烦点,比如考虑不少英美发音共用同音标,.js上它还需要另外的判断式。
好的,我试试,感谢!



