轻语言网站程序入口文件

文档概述

程序入口文件为项目中的 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 探测应将移动端关键字优先判断(如先判断 AndroidiPhone),再判断桌面端,避免移动设备 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 与使用代码动态创建组件演示 —— 切换页面与取请求参数的用法