轻语言网站程序入口文件
文档概述
程序入口文件为项目中的 App.spl 文件。当网站第一次打开或每次重新被打开(包括刷新)时,浏览器都会先执行该文件,并回调 网站被访问 事件。开发者可以在该文件中做一些程序的初始化工作,或根据用户设备类型切换到指定页面(手机端/桌面端)。
入口文件是整个网站的「路由起点」,是 PC/移动端适配、初始页面路由的常用位置。
学习目标
阅读本文档后,你应当能够掌握以下内容:
- 入口文件
App.spl的作用与执行时机 - 必须存在的
网站被访问事件及其回调时机 - 使用
切换页面(页面名称)跳转到指定页面 - 使用
取用户代理头信息()判断设备类型(Android/Windows/iOS 等) - 使用
寻找文本(源, 目标)检测子字符串是否存在 - 通过 UA 字符串实现 PC/移动端自适应路由
涉及函数与关键字
关键字: 事件 ... 结束 事件、变量、如果 ... 否则 如果 ... 结束 如果
入口事件:
网站被访问()—— 必须存在,不能删除。每次网站被访问(含刷新)时回调
路由函数:
切换页面(页面名称)—— 跳转到指定名称的页面(页面名对应.spldg/.spl文件名)切换页面(页面名称, 参数)—— 跳转并传参(详见下方"相关文档")
UA 探测函数:
取用户代理头信息()—— 获取浏览器 User-Agent 字符串寻找文本(源文本, 目标文本)—— 查找子文本位置,未找到返回-1,找到返回索引(从 0 开始)
默认入口文件代码
事件 网站被访问()
切换页面("首页")
结束 事件
网站被访问事件是必须存在的,不能删除- 当浏览器通过域名访问网站时,浏览器将回调该事件
- 你可在该入口中初始化网站所需数据或切换到指定网站页面
进阶:根据设备类型自动切换页面
通过读取浏览器的 User-Agent,可以判断用户设备类型,从而将移动端用户跳转到移动端页面,桌面端用户跳转到桌面端页面。
代码示例:
事件 网站被访问()
变量 userAgent = 取用户代理头信息()
如果(寻找文本(userAgent,"Android") != -1)
切换页面("安卓手机页")
否则 如果(寻找文本(userAgent,"Windows") != -1)
切换页面("桌面端页")
结束 如果
结束 事件
关键代码解读
1. 网站被访问 是入口回调
事件 网站被访问()
切换页面("首页")
结束 事件
- 该事件在
App.spl中必须存在,删除会导致网站无法启动 - 浏览器每次打开网站或刷新时都会触发该回调
- 该事件是网站的统一「路由起点」
2. UA 字符串判断设备类型
变量 userAgent = 取用户代理头信息()
如果(寻找文本(userAgent,"Android") != -1)
切换页面("安卓手机页")
否则 如果(寻找文本(userAgent,"Windows") != -1)
切换页面("桌面端页")
结束 如果
取用户代理头信息()返回浏览器的 UA 字符串寻找文本(源, 目标)返回目标文本的位置索引,未找到返回-1,找到返回>=0的索引- 因此
寻找文本(...) != -1等价于"包含子字符串" - 常见 UA 关键字:
- Android(安卓手机)
- iPhone(苹果手机)
- iPad(苹果平板)
- Windows(Windows 桌面)
- Macintosh(Mac 桌面)
- Linux(Linux 桌面)
3. 切换页面
切换页面("首页")
- 参数为页面名称,对应
.spldg/.spl文件名(不含扩展名) - 若目标页面不存在会报错
- 也支持带参数跳转:
切换页面("首页", 参数对象),目标页面通过取请求参数()取出(详见相关文档)
注意事项
网站被访问事件不可删除:入口文件App.spl中必须存在该事件,否则网站无法正常启动。- 入口文件名固定:入口文件名必须为
App.spl,不可改名。 - UA 判断顺序:UA 探测应将移动端关键字优先判断(如先判断
Android、iPhone),再判断桌面端,避免移动设备 UA 中含兼容性字段误判。 - UA 不可靠:UA 可被浏览器或用户篡改,关键判断不能完全依赖 UA;如需要严格判断可结合屏幕宽度等综合判断。
- 每次刷新都会触发:刷新页面也会再次执行
网站被访问,因此该事件中适合做幂等的初始化操作。 寻找文本返回 -1 表示未找到:判断子字符串存在用!= -1,不要用> 0(索引可能为 0)。- 目标页面必须存在:
切换页面(页面名)中页面名必须对应实际的.spldg/.spl文件,否则报错。
学习要点总结
| 知识点 | 关键代码 | 适用场景 |
|---|---|---|
| 入口文件 | App.spl | 网站启动入口 |
| 必需事件 | 事件 网站被访问() | 网站被访问回调 |
| 页面路由 | 切换页面("首页") | 跳转到指定页面 |
| UA 探测 | 取用户代理头信息() | 设备类型判断 |
| 字符串查找 | 寻找文本(源, 目标) != -1 | 判断包含子串 |
| 设备路由 | UA + 切换页面 | PC/移动端适配 |
相关文档
- 文档
轻语言网站:工程项目结构—— 项目目录与App.spl的位置 - 文档
轻语言网站:界面XML定义规范——.spldg页面文件写法 - 文档
轻语言网站:循环语句体结构—— 流程控制语法 - 文档
轻语言网站:轻语言语法速查—— 事件、条件判断语法 - 文档
前端(JavaScript)函数_字符串——寻找文本等字符串函数 - 文档
前端(JavaScript)函数_浏览器——取用户代理头信息等 UA 相关函数 - 文档
综合演示:手机移动端记事本网页开发—— 移动端页面(类型="wap")的开发示例 - 文档
综合演示:网页留言板开发—— 多页面切换与参数传递示例 - 文档
综合演示:XML 与使用代码动态创建组件演示—— 切换页面与取请求参数的用法