# MDX转跳死循环原因和解决办法（扩充词头需要注意的）

**URL:** <https://forum.freemdict.com/t/topic/2454>\
**Category:** 技术交流与词典编修\
**Created:** [2020 年7 月 3 日 14:45 UTC](https://forum.freemdict.com/t/topic/2454 "2020-07-03T14:45:57Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

作者： ![MicroX](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/microx/32/57363_2.png) [@MicroX](https://forum.freemdict.com/u/MicroX)\
发布日期： [2020 年7 月 3 日 14:45 UTC](https://forum.freemdict.com/t/topic/2454/1 "2020-07-03T14:45:57Z")

</div>

首先说明一下哈，我非IT相关专业，纯个人的观察，MdxBuilder 3.0 RC1（不记得哪来的还是谁发给我的）上验证有效。若有不对，请自行纠正哈

车祸现场：  
微信好友里的一位小仙女改了ID含Faery，我想在Mdict里查查什么意思，一查就崩，厉害呀！？看来查人家是不对滴

![转跳与主词的概念说明](https://forumcdn.freemdict.com/uploads/default/original/2X/7/7c2b4bf2d3f584887a894cf065b78bebd67b3df2.jpeg)

![词头的概念说明](https://forumcdn.freemdict.com/uploads/default/original/2X/6/6abe1ee48f208aff69c47dc8d82796722ead9cd4.jpeg)

转跳原理：  
@@@LINK=后面作为词头转跳，会转跳至（转MDX前的）TXT里的第一个该词头所在的位置。  
举个例子，词头aaa，其字典内容为@@@LINK=bbb，会转跳到（转MDX前的）TXT里的第一个词头为bbb那里：如果（转MDX前的）TXT里的第一个词头aaa就是@@@LINK=bbb，且该TXT里第一个词头bbb刚好是@@@LINK=aaa，则查词aaa或bbb均会死循环；如果如果（转MDX前的）TXT里的第一个词头aaa或第一个bbb，有实质性的内容（\<span\>…\</span\>等，不是转跳的），那么之后的aaa的@@@LINK=bbb、bbb的@@@LINK=aaa放在任意位置均不会死循环。

结论：  
如果要扩充词头，我建议，转换MDX前的TXT里面，尽量把@@@LINK=的排在 **主词头** 的后面（譬如，全部的@@@LINK=作为一个整体，加入至原TXT的末尾），除非确定不会死循环。

这是我按照@last_idol给的[统计](https://forum.freemdict.com/t/topic/1359/38)手工修改的（把有实质内容的主词往前排了排）：  
[外研社新世纪英汉大词典.mdx](https://forum.freemdict.com/uploads/short-url/foRITslEk5xltHf9OTL1RvdibeE.mdx) (22.8 MB)  
（@atauzki[原帖：新世纪英汉大 191008 改版](https://forum.freemdict.com/t/topic/1359)）

我搜索“新世纪”找不到，搜索“新英汉”才能找到原帖，吐槽一下

@Arlin@hahaya@loner

好了，我发神经完了，散啦

---

_[View the full topic](https://forum.freemdict.com/t/topic/2454)._
