朗文6 双解 糖果版 V3.0

本贴正文已更新

谢谢糖果老师 :globe_showing_europe_africa:

1 个赞

可能还要反馈一个小bug,就是刚下载好,点字头会显示出例句,但是之后关机或者重启后再打开,怎么也点不出来了。

弱弱的问一下,楼主的百度网盘文件里有两个mdd文件,两个css文件,都需要一起下载使用吗

再请教一下,怎么才能默认显示例句啊


这六个

此版本目前只适配欧路win端,暂没有适配其他软件的打算

————————————————————

此版本是我学习过程的副产品,一切功能都以我的个人习惯为主。大家反馈的bug和改进意见如果对我的学习有帮助,我会采纳,并想办法解决。如果对我的学习没有帮助,我也不想花时间去研究。

如果意见未被采纳的话建议去隔壁看看。karx 的作品的普适性很广,基本可以满足所有用户的需求,而且人也心细,反馈的问题都能解决。

当然,如果有学习力的话,坛内有许多不错的教程,而且我提供的css和js文件里都有详细的注释,如果想自己改一版也是比较方便的 :nerd_face:

受教了。:nerd_face::handshake:

首先,本贴不会提供默认显示例句的版本,因为这和我的个人习惯相背。

其次,这个比较简单,建议你按照我的介绍,自己动手试一试。

  1. 你可以随便打开某一个大数据模型,例如deepseek。
  2. js文件扔进去,然后询问你的要求。deepseek会告诉你具体删除那一段代码
  3. 然后,用记事本打开js文件,按照ai的提示修改代码。记得保存 :nerd_face:

————————————————————

此版本是我学习过程的副产品,一切功能都以我的个人习惯为主。大家反馈的bug和改进意见如果对我的学习有帮助,我会采纳,并想办法解决。如果对我的学习没有帮助,我也不想花时间去研究。

如果意见未被采纳的话建议去隔壁看看。karx 的作品的普适性很广,基本可以满足所有用户的需求,而且人也心细,反馈的问题基本都能解决。

当然,如果有学习力的话,坛内有许多不错的教程,而且我提供的css和js文件里都有详细的注释,如果想自己改一版也是比较方便的 :nerd_face:

1 个赞

其次,这个比较简单,建议你按照我的介绍,自己动手试一试。

  1. 你可以随便打开某一个大数据模型,例如deepseek。

  2. CSS文件扔进去,然后询问你的要求。deepseek会告诉你具体删除那一段代码

  3. 然后,用记事本打开CSS文件,按照ai的提示修改代码。记得保存 :nerd_face:

感谢 大佬给了渔了,可以学着摸索尝试了 :laughing:

1 个赞

感谢制作分享精品词典资料

1 个赞

函数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;
          }
1 个赞

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

2 个赞

刚试了一下,有一定可行性。在我的初步测试中,雀食重新排列了顺序,但是出现了元素混乱以及乱码的情况,而且存在部分特例无法重新排列——需要花点时间研究一下 :nerd_face:

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');
    // ... 后续代码保持不变 ...

不知道你的过程,要不然你试试这样做,仅参考。

  1. 上传该.css与该.js至Gemini 3/Fast(其它模式上它的回复似乎太久)。
  2. 复制该相关代码(Copy as HTML)从该检测器于该词典软件。
  3. 给提示词与该被复制过的代码(过长代码会被省略)来询问Gemini 3。
  4. 给该标签可能会比较快来完成,如:a.amesnd/a.bresnd之类的。

题外:
我是有测过这版(Dean版)LDOCE6_New.js.txt 删掉.txt (3.3 KB)。
我的需求仅仅是这样如下图中。
test2
印象中该.js于cdmaer版与Dean版是一模一样,但是在MDX里面它们文本标签不太一样。
而karx版又改动过cdmaer版,添加许多功能在.js上,亦改过不少文本标签。
以上,逻辑上不影响你的那个需求,Gemini 3应该短时间内即可正确满足。你那个需求是稍微麻烦点,比如考虑不少英美发音共用同音标,.js上它还需要另外的判断式。

3 个赞

请教大佬,我现在用的是K大的那版。有些释义末尾有冒号,您是怎么去掉的。

js文件里有注释(应该是,时间久远记不太清)

好的,我试试,感谢!

1 个赞