Goldendict网站词典在单独页签-支持自定义script

已经下载更新,貌似页面又有变化。先用用看。刚试了这个添加在线词典标签页的功能,还不错。


不过,发现个问题,之前我在gd-ng上一版时是可以添加术语在线查询的,现在不行了。之前添加的格式是 术语在线,现在是没有结果界面。

10个在线词典链接,更新新版主程序后,有3个失效了。


这个选项看下

这里我是勾选了的。


下面这俩也没法查了:

大佬可以测试下,这俩和术语在线是不是无法添加到在线词典里了。
image


这个有了。

这个也有了。去掉勾选的话。

术语在线也有了。

趁大佬在,我问问这个链接能添加吗?我用ai问了很多种方法,都没实现。 国家地名信息库https://dmfw.mca.gov.cn/search.html

以下是和ai咨询的办法,都试过,无法添加。https://chat.deepseek.com/share/8ctev1svbzt9n9jj6i

没找到办法。。。。。

那我就放弃了,既然大佬都这么说了。

貌似记得有人通过本地文件接收参数后,再传递的方式,可以实现。

主要是想偷懒,直接集成到软件里,小白简单操作能达到目的就行。难的话,我就直接从浏览器标签页里去官网核地名了。 :grin: 大佬不要嫌弃我

gd-ng插入 这个链接,我嵌入后查词,出现结果是这个界面


一共是5个结果,但网站上其实有更多,只不过这5个属于精准查词,是完全匹配的,网站上其他属于模糊搜索结果,词头里带了就算,怎么能复现网站的效果,达到尽可能多查词呢?

这个跟上一个貌似类似情况。

主要都是比较牛叉的几个网站,估计弄的比较复杂吧。那就凑合先用着了。

用这个版本

然后下载


解压缩后,放到goldendict.exe的位置。

并运行(先退出goldendict),然后重新配置

url: https://dmfw.mca.gov.cn/search.html?word=%GDWORD%
script:

const urlParams = new URLSearchParams(window.location.search);
            var keyword =  urlParams.get("word");
            // 查找搜索框
            const searchInput = document.querySelector('.input-search');
            // 查找搜索按钮
            const searchButton = document.querySelector('.btn-search');
            console.log('Searching for:', keyword);
            console.log('Search input:', searchInput);
            console.log('Search button:', searchButton);
            
                // 填入搜索关键词
                searchInput.value = keyword;
                
                // 触发输入事件以确保页面响应
                const event = new Event('input', { bubbles: true });
                searchInput.dispatchEvent(event);
                
           // 方式2:创建鼠标事件
            setTimeout(() => {
                const mouseEvent = new MouseEvent('click', {
                    view: window,
                    bubbles: true,
                    cancelable: true
                });
                searchButton.dispatchEvent(mouseEvent);
            }, 100);
                

这个也可以类似配置

Url: https://guji.nlc.cn/instrument/dictionaries?word=%GDWORD%

script:

function executeSearch() {
    const urlParams = new URLSearchParams(window.location.search);
    const keyword = urlParams.get("word");
    
    // 查找搜索框和按钮
    const searchInput = document.querySelector('.container_instrument_dictionaries_search_in');
    const searchButton = document.querySelector('.container_instrument_dictionaries_search_button');
    
    console.log('Searching for:', keyword);
    console.log('Search input:', searchInput);
    console.log('Search button:', searchButton);
    
    if (searchInput && searchButton) {
        // 填入搜索关键词
        searchInput.value = keyword;
        
        // 触发输入事件以确保页面响应
        const event = new Event('input', { bubbles: true });
        searchInput.dispatchEvent(event);
        
        // 创建鼠标事件并点击搜索按钮
        setTimeout(() => {
            const mouseEvent = new MouseEvent('click', {
                view: window,
                bubbles: true,
                cancelable: true
            });
            searchButton.dispatchEvent(mouseEvent);
            console.log('Search button clicked');
        }, 100);
    } else {
        console.log('Search elements not found yet');
        return false;
    }
    
    return true;
}

// 等待页面完全加载后再执行搜索
if (document.readyState === 'loading') {
    // 如果页面还在加载,等待加载完成
    document.addEventListener('DOMContentLoaded', function() {
        console.log('DOM content loaded, attempting search...');
        // 尝试执行搜索,如果失败则等待更长时间
        if (!executeSearch()) {
            setTimeout(executeSearch, 500);
        }
    });
    
    // 同时监听window.load事件作为备用
    window.addEventListener('load', function() {
        console.log('Window fully loaded, attempting search...');
        executeSearch();
    });
} else {
    // 如果页面已经加载完成,直接执行
    console.log('Page already loaded, attempting search...');
    // 如果立即执行失败,等待一小段时间再试
    if (!executeSearch()) {
   //延迟1秒。
     setTimeout(executeSearch, 1000);
    }
}

也可以将上面的script内容放到一个文件里,比如 a.js,js文件放到配置文件目录(绝对路径也可以。)

非常奇怪,我今天登录去下,没有下载按钮。

,大佬可否传一个主程序包。

上面2个包,主程序包,你指的是什么?应该是其中1个了。点文件名就可以下载

就是没有下载按钮,文件名也点了,大小也点了,后面的那一串也点了,没任何可以操作的项目。