使用Mdict Editor Tool制作Tab词典的致命毛病

里面合并了,以至于id都混起来了。

光看页面当然看不见id重叠了

1 个赞

我考虑过自动对应css 到字典上,可以使用scss技术
但是苦于mdd里面的css格式不规范,可能连css语法都不遵守。

dicTango严格来说没有遵守html/css/javascript的规则,把多个页面简单堆积到一个页面上

1 个赞

请教一下,怎么才能把多个页面里有同样id的html元素不简单的放在同一个页面上然后兼顾原有的javacript还可以正常工作呢?

应该隔离每个独立的html/css/js,就像你在浏览器里面登录不同的电子邮箱,互相是隔离的。如果邮箱都混在一起,你还指望界面不受影响,那出毛病的责任完全是浏览器的。QQ邮箱和163邮箱互相能堆到一个页面上么?注意,不是物理上放在一个显示器上,而是内容(html。css。js)完全混在一起。

那如果js是独立的脚本文件中,怎么隔离?

Apple Dictionary、日本几家商业词典软件和一些中国商业词典软件,我看内置的XHTML从来都不会在不同词条使用重复ID。即使它们不会把多个HTML放在同一界面,都是如此谨慎的。mdx制作者应该要学习的。

js也是处理一个html里面的 (被mdx作者include进去的那个html,而不是软件想要随意堆积到一起的一堆html)

id的定义就是在本页面唯一
否则是GUID

举个例子吧, 在独立的js文件中有这么一行,怎么才可以实现隔离?

document.getElementById('qpih1').style.display='none';

通过浏览器引擎隔离啊,浏览器里面的tab之间都是分开的,虽然公用一样的css,js,但是你在按钮一个tab的时候,不会在client端影响其他tab

现在可好,所有浏览器的tab(注意不是mdx里面的tab,mdx tab是单页面的)都放一个页面里面,那怎么能行。

qpih1在本页面(一个词头以下是唯一的就行了,符合html规矩)

三个tab那是融合到一个完整的独立的词头以下了。

你看论文网页的时候,每个readme.html 或者 index.html都完好,结果软件硬是要把网站里面所有论文的 readme.html 和index.html 强行堆到一个页面里面,那乱了套可不是网页作者的问题,那是软件问题。

论文网页可以每个readme.html 或者 index.html都完好,因为它们属于不同的目录/章节,但词典制作者是一个相同词目分开三个词条来放的,比如test, 有名词跟动词等等,很多人都是分开不同的词条(注意是词条,不是词目)来放不同的解释的。
这个时候如果分开三个tab来显示的话,用户的体验会相当的差。

你家的门牌号只要在楼里面唯一就够了,现在非要全国/全球唯一,那制定这样规矩的人不是又蠢又坏么?

确实是这样,好多人一个完整词条拆成几块放。

我上面也提到了,DictTango里的阅读模式是可以用来查看这种情况的词典的,所以,我觉得是个人选择问题

不必争论了,取舍问题而已。

是的,而且还有@@@LINK的情况

你搞错了概念,或者在偷换概念。

一个页面里面可以有N个tab,包含没有tab
只要页面内部逻辑完整独立就行,这是html的规矩

你要求所有页面都可以堆积到一起,然后还保持唯一,那就偷换概念了。

1 个赞

@amob

我有解决办法, 讲过了,不依赖ID或者TagName,只依赖附近的html结构。

以后有空搞一个更新,缺点就是不兼容老版本了。

2 个赞

@amob

弄好了。只需要改动三行代码。比AI的办法简单有效多了。

你能把你的反查js发给我么,我改动以后你测试一下。