设置脚本触发器
可以设置
脚本触发器来指定事件发生时运行脚本。例如,可以使用脚本触发器运行一个脚本,根据另一个字段中输入的内容在字段中自动输入数据。
有些脚本触发器会在数据库引擎处理某个事件之前运行脚本。其他脚本触发器会在数据库引擎处理某个事件之后运行脚本。例如,可以使用 OnObjectEnter 脚本触发器在输入一个字段之后运行脚本。(此字段为
对象;输入此字段为一个事件。)
脚本触发器可以通过用户操作或脚本来激活。例如,可以使用 OnObjectEnter 脚本触发器激活一个脚本,从而使该脚本在用户单击字段或执行“转至对象”脚本步骤来输入字段时运行。
可以设置脚本触发器在以下情况下激活:
•打开或关闭文件时,或媒体文件的回放状态发生变化时。有关如何执行此操作的信息,请参阅
设置文件选项。
要查看为哪些布局对象和布局指定了脚本触发器,请在
布局模式下,选择“
视图”菜单>“
显示”>“
脚本触发器”。
有下列脚本触发器可用:
触发器区域 | 脚本触发器 | 处理之前 | 处理之后 |
对象 | | | X |
| X | |
| | X |
| X | |
| | X |
| X | |
| X | |
| | X |
布局 | | | X |
| X | |
| X | |
| X | |
| | X |
| X | |
| | X |
| | X |
| X | |
| | X |
| X | |
| | X |
文件选项 | | | X |
| X | |
| | X |
| X | |
| | X |
脚本触发器的时间顺序
当同一个事件激活多个脚本触发器时,脚本触发器会按照以下相应顺序执行:
1. OnFirstWindowOpen
2. OnWindowOpen
3. OnLayoutEnter
4. OnModeEnter
5. OnRecordLoad
6. OnLayoutSizeChange
7. OnViewChange
以下脚本触发器的顺序由触发事件控制:
8. OnObjectEnter
9. OnObjectKeystroke
10. OnLayoutKeystroke
11. OnGestureTap
12. OnObjectAVPlayerChange
13. OnFileAVPlayerChange
14. OnExternalCommandReceived
15. OnPanelSwitch
16. OnObjectModify
17. OnObjectValidate
18. OnObjectSave
19. OnObjectExit
20. OnRecordCommit 或 OnRecordRevert
21. OnModeExit
22. OnLayoutExit
23. OnWindowClose
24. OnLastWindowClose
注释
•脚本触发器运行的脚本使用现有权限。除非将脚本定义为以完全权限运行,否则脚本将使用用户的权限运行。
•在“自定义 Web 发布”下,脚本触发器只能由脚本激活,而不能由直接的用户交互激活。例如,如果用户使用 Tab 键切换到具有 OnObjectEnter 脚本触发器的字段,则不会激活该触发器。如果脚本步骤导致
焦点移动到该字段中,则将激活该脚本触发器。
•某些脚本触发器允许在脚本触发器执行的脚本返回值 False 的情况下,取消触发事件。如果以这种方式取消命令或事件,错误代码将设置为 20。有关更多信息,请参阅
Get ( 上一个错误 ) 函数。如果 OnLastWindowClose 脚本触发器执行的脚本返回值 False,则文件将不关闭。
•Windows:Alt 和 Ctrl 组合键不会激活脚本触发器。
•OS X:命令组合键不会激活脚本触发器。
相关主题