内容提要
本文介绍在TyranoScript中用HTML创建自定义页面的方法。核心是kag.html函数,通过$.loadText加载HTML并用jsrender渲染。为兼容Vue,作者将其改写为htmlPure函数,直接返回HTML字符串,并新增showExtendPage标签,实现页面淡入显示,简化了页面层级与回调管理。
延伸解读
从脚本到HTML:页面创建思路的转变
文章指出,用TyranoScript脚本编写设置、CG等页面时,层级管理困难且不易理解。作者建议改用HTML创建页面,并以默认Load页面为例,通过全局搜索displayLoad定位到kag.menu.js中的实现。这种转变让页面结构更直观,也便于后续维护和扩展。
kag.html函数的工作机制与局限
kag.html是创建新页面的核心,它接收文件名、数据和回调三个参数。内部通过$.loadText以Ajax加载本地HTML,再用jsrender渲染模板,最后将jQuery对象传给回调。但回调收到的是jQuery对象而非纯字符串,这给希望集成Vue等框架的开发者带来了不便。
htmlPure与showExtendPage的简化方案
为兼容Vue,作者将kag.html改写为htmlPure,去掉jsrender渲染,直接返回HTML字符串。同时新增showExtendPage标签,通过layer_extend实现页面淡入显示。这样简化了页面层级与回调管理,调用标签即可显示页面,无需再操心脚本回调导航和层级清除。
Q&A
TyranoScript中如何用HTML创建自定义页面?
使用kag.html函数加载HTML文件,通过jsrender渲染模板,并传入回调函数处理生成的HTML。
kag.html函数的参数有哪些?
参数包括:HTML文件名、传递给模板的数据对象、以及回调函数(接收渲染后的HTML内容)。
为什么作者要改写htmlPure函数?
为了兼容Vue,避免jsrender与Vue模板冲突,htmlPure直接返回HTML字符串,不进行模板渲染。
showExtendPage标签的作用是什么?
用于显示自定义页面,通过淡入效果展示,并设置页面层级,简化了页面层级与回调管理。
如何让自定义页面淡入显示?
在showExtendPage标签中,使用layer_extend.fadeIn()实现淡入效果。
使用htmlPure函数后,页面层级管理有什么变化?
不再需要担心脚本回调导航和层级清除,只需调用showExtendPage标签即可淡入页面,简化了管理。