就是普通查词模式下,查一个词,点击某一个词典的内部跳转,他搜索的是只是跳转前所在词典的词典,能不能加个开关,允许搜索当前词典意外的词典查词,
那不要做成跳转就好了,非跳转(超链接)的词条点译是会查找所有词典的。
一个词典相当于一个网站,在一个网站里点击超链接只定向到链接的目的网页,而不会同时定向到其它网页的。
就是两部词典单独打包没有问题,到打包到一块会报错,Begining loading source file…
Keyword is longer than [数字] at position: -[数字] of the source file
类似这样提示,用大文件特别版强制打包也能打包,到会让整个程序都卡顿明显,应该是单个词条和对应的内容有些有几十m的原因吧
如果只是mdd出错,我建议不要用mdd, 把所有文件压缩成一个跟mdx同名的zip文件,比如mdx是abc.mdx, 那么zip文件名就是abc.res.zip,DictTango支持这种格式的资源文件,但缺点是其它词典应用不支持
如果你更新到最新的DictTango,你也可以这样做:
- 不要做成超链接
- 把词条用span包起来,span加上属性tap-translate, 比如词条是“素炒三丝”,那么html就是
<span tap-translate>素炒三丝</span>
通过这种方式,DictTango会直接读取span里面的内容进行浮动窗口查词
是否有时间在置顶帖汇总下DictTango特有的功能?
某版开始支持某功能,比如最新的tap-translate浮动窗口查词,还有上面的zip资源文件。
现在散落在各处,想找又不好找。
帮助->Github Wiki,我会在这里不定时更新一些常用技巧
这种不生效,跳转不了,最新版本
BBQ
<style>
span {
display: none;
width: 28%;
margin: 0.5%;
padding: 8px 0;
text-align: center;
box-sizing: border-box;
font-size: 14px;
border: 1px solid #eee;
border-radius: 6px;
background: #fff;
color: #333;
text-decoration: none;
vertical-align: top;
}
span.show { display: inline-block; }
/* 未加载 = 完全不占位 */
lazy {
display: none;
}
lazy.active {
display: block;
height: auto;
}
.load-more {
display: block;
width: 90%;
margin: 12px auto;
padding: 12px 0;
text-align: center;
background: #f2f2f2;
border-radius: 8px;
font-size: 15px;
cursor: pointer;
}
.load-more.hide {
display: none !important;
}
</style>
<script>
window.onload = function() {
const DEFAULT = 10;
const ONCE = 10;
let maxShow = DEFAULT;
const lazyItems = document.querySelectorAll('lazy');
const totalItems = lazyItems.length;
const loadBtn = document.querySelector('.load-more');
// 🔥 核心:只显示【可视区内】的行,下方超出的全部折叠隐藏
function update() {
const viewHeight = window.innerHeight;
// 找到当前可视区内 最后一行的位置
let lastVisibleIndex = -1;
for (let i = 0; i < lazyItems.length; i++) {
const item = lazyItems[i];
const rect = item.getBoundingClientRect();
if (rect.top < viewHeight && i < maxShow) {
lastVisibleIndex = i;
}
}
// 🔥 只显示到可视区最后一行,后面全部隐藏折叠
for (let i = 0; i < lazyItems.length; i++) {
const item = lazyItems[i];
const spanList = item.querySelectorAll('span');
if (i <= lastVisibleIndex) {
item.classList.add('active');
spanList.forEach(span => span.classList.add('show'));
} else {
// 🔥 不在可视区 → 按行折叠、隐藏、不占位
item.classList.remove('active');
spanList.forEach(span => span.classList.remove('show'));
}
}
// 加载完隐藏按钮
if (maxShow >= totalItems) {
loadBtn.classList.add('hide');
} else {
loadBtn.classList.remove('hide');
}
}
// 点击加载更多
window.loadMore = function() {
maxShow += ONCE;
update();
};
// 滚动实时生效(上滑/下滑都100%响应)
window.addEventListener('scroll', update);
update();
};
</script>
<lazy>
<span tap-translate>烤兔子腿</span>
<span tap-translate>吮指BBQ烤翅根</span>
<span tap-translate>烤肉</span>
</lazy>
<lazy>
<span tap-translate>蒜香烧烤鱿鱼</span>
<span tap-translate>叉烧鸡肉串</span>
<span tap-translate>牙签羊肉</span>
</lazy>
<lazy>
<span tap-translate>日式照烧烤鱿鱼</span>
<span tap-translate>香辣烤翅根</span>
<span tap-translate>孜然牛肉蘑菇饭</span>
</lazy>
<lazy>
<span tap-translate>原味烤扇贝</span>
<span tap-translate>BBQ鸡肉核桃披萨</span>
<span tap-translate>香辣烧烤豆腐串</span>
</lazy>
<lazy>
<span tap-translate>孜然烤翅</span>
<span tap-translate>香辣烤鲫鱼</span>
<span tap-translate>咖喱烤大排</span>
</lazy>
<lazy>
<span tap-translate>微波日式照烧烤鸡</span>
<span tap-translate>彩椒羊肉串</span>
<span tap-translate>牙签肉</span>
</lazy>
<lazy>
<span tap-translate>多彩牛肉串烧</span>
<span tap-translate>烤鸡胸</span>
<span tap-translate>黑椒牙签肉</span>
</lazy>
<lazy>
<span tap-translate>烤土豆</span>
<span tap-translate>烤肉串</span>
<span tap-translate>叉烧烤翅</span>
</lazy>
<lazy>
<span tap-translate>蜜汁烤鸡腿</span>
<span tap-translate>孜然土豆焖牛肉</span>
<span tap-translate>脆花菜</span>
</lazy>
<lazy>
<span tap-translate>烤薯条</span>
<span tap-translate>叉烧烤大排</span>
<span tap-translate>薄荷照烧烤虾</span>
</lazy>
<lazy>
<span tap-translate>烧烤杏鲍菇</span>
</lazy>
<div class="load-more" onclick="loadMore()">点击加载更多</div>
我理解错了,span包裹的内长按复制后在弹出的查词的弹窗查词能查词,不是我理解的直接跳转
应该不用复制,点击就会进行点译,或者你把Mdx发上来看看
22222.mdx (15.5 MB)
DictTango对这个处理有点问题,下版本修正
你可以试一下最新的2.3.6.9, 现在应该可以了
更新最新版本打开单击点击能跳转(不打开跳转不了),但其他词典这样点击任意词都会跳转,所有这个开关我关掉了,其实也无所谓有没有这个功能,辛苦了,不做也可以
可能你不太了解它的意义,其实在别的词典里,你点任意一个“词”(得是那种常见词),DictTango会在后台根据你点的位置帮你自动分词,这个分词是基于一个内置的中文词组的 mdx 文件来实现的。只有当你点到的词刚好在这个 mdx 里,它才会被识别出来。
但像你这个词典,很多词其实都不在 DictTango 的这个中文词库里。如果你没有加上 “tap-translate” 这个属性,那你点中文的时候(比如“微波日式照烧烤鸡”),DictTango 很可能只会识别出“微波”、“日式”这种拆开的词,而不是你真正想要的整句“微波日式照烧烤鸡”。
我理想中的是加上您说的“tap-translate” 这个属性的标签,然后禁止点译模式下点击可以跳转,其他词典也不会影响到
明白了,你还是想跳转,不要点译,请忽略我这个功能和前面的建议

