浏览器运行
PB 程序的浏览器运行,这是一种富客户端的形式,客户端会被自动下载安装到本机,并在浏览器里展现出来。
这是借助 uo_vdncore 组件来实现。

服务端版本V2015.1.1.5后支持 Gogle Chrome 、 Microsoft Edge 浏览器或其他基于 Chromium 项目的浏览器。
视频讲解
- 程序嵌入浏览器运行只需要进行简单的修改即可
组件属性设置

将 uo_vdncore 组件放到想要嵌入到浏览器的窗体, 一般为登录窗体和程序主窗体。
uo_vdncore 与浏览器运行相关的属性:
| 属性 | 类型 | 说明 |
|---|---|---|
| MainWin | boolean | 表示该窗体为主窗体,升级消息会发送给该窗体。该属性主要避免打开了多个窗体上都有 v d n core 组件。 |
| AutoUpgrade | boolean | 自动升级属性,当收到通知升级消息时,是否自动执行升级操作,否则需要自行处理这些升级消息。 |
| AutoIE | boolean | 是否嵌入到浏览器,选中了该属性窗体将被嵌入到浏览器中。 |
| PostImplant | boolean | 嵌入窗体的代码默认是在 vdn core 组件的 constructor 事件里触发的,如果选中该属性,则嵌入函数会被 post 延后执行。 |
| center | boolean | 窗体在浏览器里是否居中显示,否则铺满。 |
| ChangeStyle | boolean | 选中后将对窗体进行去掉标题栏、调整边框等操作,使窗体和浏览器视觉效果更融洽。 |
| ShowMenu | boolean | 窗体是否显示菜单。 |
| IEMsgWin | boolean | 该窗体是否为消息窗体,用来接收浏览器关闭消息。 |
| WebRun | string | (只读)返回程序是否是通过浏览器运行 |
组件相关事件
event implanting;
of_setresize(True)
inv_resize.of_register(uo_tool, 0, 0, 100, 0)
inv_resize.of_register(uo_plan,0, 0, 0, 100)
inv_resize.of_register(uo_file,0, 0, 100, 100)
inv_resize.of_register(uo_package,0, 0, 100, 100)
//.......................
end eventimplanting
这个是在窗体嵌入到浏览器之前触发的。如果窗体使用了了缩放控件,且在嵌入浏览器后缩放效果没有达到,可以将缩放控件的注册代码放到这个事件里来执行
event upgrade_notify(string as_type);
If AutoUpgrade = False Then Return
Choose Case Lower(as_type)
Case "upgrade"
post uf_upgrade()
Case "mustupgrade" //"强制升级"
_UpgradeTime = MustUpgradeAfter
timing_upgrade.Start(1)
End Choose
end eventupgrade_notify
通知升级时触发该事件,如果选中了 AutoUpgrade 属性,则会根据消息类型进行自动处理。也可以设置 AutoUpgrade 属性为 false,然后自行在这个事件里处理。
参数传递
浏览器运行参数传入主要有两个途径
通过快捷方式的【命令行参数】来传入固定的参数,这里我们输入 123,然后点发布。
在浏览器运行的 URL 参数后面追加 parm 参数,这个可以实现动态参数,很多情况适用,比如实现单点登录。
String ls_parm
If uo_vdn.WebRun Then
ls_parm = uo_vdn.CommandLine
Else
ls_parm = CommandParm()
End If属性:CommandLine(只读)
浏览器运行时会对命令行参数(CommandParm)进行分解,提取浏览器运行之外的参数存储到该属性,如果程序运行有额外的参数可以通过这个属性获取。
注意
如果是自己的 PB 程序,且 MDI 窗体之前没有放过任何控件,那么放上 uo_vdncore 组建后,MDI 子窗体会显示不出来,在 MDI 窗体的 open 和 reseze 中增加如下代码即可:
Mdi_1.X=workspaceX()
Mdi_1.Y=workspaceY()
Mdi_1.Width=workspacewidth()
Mdi_1.height=workspaceheight()快捷方式设置

项目发布时创建位于首页的快捷方式,将【嵌入浏览器【选中就可以将程序嵌入到浏览器中运行了,否则程序只是在浏览器外打开
