aardio 文档

web.sysView 库模块帮助文档

简介

web.sysView 使用 WIN10/11 自带的 WebView1,体积非常小(打包仅增加几十KB)。 WebView1 支持 Win10 1803 以上系统(支持Win11),好处是系统自带不用额外安装。 WebView1 控件的窗口类名是 IE的类名,但实际上并不使用 IE内核,而是基于比较新的 Edge 或 Chromium 内核。 缺点首次运行可能会有一个点击启用访问本机页面权限的提示(需要请求管理权限) 如果软件本身有管理权限,可调用 web.sysView.exemptAs() 静默启用该权限。

改用更强大的 WebView2 (也就是 aardio 标准库 web.view) 可支持 Win7,Win8,Win10,Win11……

web 成员列表

web.sysView()

返回对象:WebSysViewObject

web.sysView(winform,debug)

创建 Edge 浏览器控件,
winform指定嵌入窗口,debug指定是否支持调试,
目前debug参数实现不起作用
WebView1 仅支持 Win10 1803 以上系统,
在不支持的系统上创建 WebView1 会返回 null

web.sysView 成员列表

调用 Win10/11系统自带的 WebView1 创建浏览器控件

网页引入 eruda.js 可支持控制台,注意只要调用 wsock.tcp.asynHttpServer 或 wsock.tcp.simpleHttpServer 打开网页才能支持 eruda.js

标准库提供的 web.view 可支持 WIN7 且功能更强大

web.sysView.exemptAs()

授权 WebView 访问本机页面,
如果程序或安装程序有管理权限,可直接调用此函数

WebSysViewObject 成员列表

WebSysViewObject._form

创建浏览器控件传入的窗口对象

返回对象:staticObject

WebSysViewObject.adjust()

调整页面大小到适合窗口

WebSysViewObject.defaultBackgroundColor

网页默认背景色, GDI+ 兼容的 ARGB 格式数值
不支持透明度,改用 web.view 可支持透明

WebSysViewObject.doScript(js)

执行JS代码,
不指定回调函数时,JS代码放入匿名函数体内执行

WebSysViewObject.doScript(js,callback)

WebSysViewObject.doScript(js,function(result){  
    /*执行JS代码成功在当前界面线程异步回调此函数,  
@result参数为JS代码的返回值*/  
} )

WebSysViewObject.eval

运算 JS 代码并返回值,
返回值使用 JSON 转换为 aardio 值

WebSysViewObject.eval(js,...)

运算JS代码并返回值,
等待返回值过程中会继续处理界面消息,
如果指定多个参数,则首先调用 string.format 格式化所有参数

WebSysViewObject.export(JS变量名,回调函数)

导出aardio函数为JS全局变量,
参数也可以使用一个表包含多个需要绑定到JS的变量名值对,值必须是函数。
JS脚本中调用这里绑定的本地函数返回值为 Promise 对象

WebSysViewObject.go

仅支持HTTP服务器地址,
首次运行可能会显示点击授权访问本地网页的链接

WebSysViewObject.go(url,devPort,devTimeout)

url 参数指定网址,  
如果提前导入 wsock.tcp.simpleHttpServer 或 wsock.tcp.asynHttpServer   
则 io.localpath 支持的路径转换为通过嵌入 HTTP 服务器访问的网址,  
使用 HTTP 嵌入服务器可自动支持嵌入资源路径与 SPA 单页应用。  
可选使用@devPort参数指定前端项目开发环境调试端口,  
可选用@devTimeout参数指定检测调试端口超时  
@devPort,@devTimeout参数仅在开发环境中有效

WebSysViewObject.html

WebSysViewObject.html = /**  
<!doctype html>  
<html>  
<head>  
    <meta charset="utf-8">  
    <style type="text/css">  
    html,body{ height:100%; margin:0; }   
    </style>  
    <script type="text/javascript"></script>  
</head>  
<body>  
    <div id="header"></div>  
    <div id="container">   
        <div class="lside"> </div>   
        <div class="rside"> </div>    
    </div>  
</body>  
</html>  
**/

WebSysViewObject.invoke

调用JS函数但不会等待返回值

WebSysViewObject.invoke("object.func",...)

调用JS函数但不会等待返回值,
等待返回值过程中会继续处理界面消息,
参数@!指定要调用的函数名或返回函数的表达式,

如果参数 @1 不包含回车或换换行、分号、大括号、圆括号,
则参数 @1最后一个点号前的对象作为调用JS函数的 this 参数,

可指定一个或多个参数,参数使用JSON转换为JS值

WebSysViewObject.location

当前网址

WebSysViewObject.onDocumentInit(url)

WebSysViewObject.onDocumentInit = function(url){
    /*打开网页并创建 document 对象后触发此事件,  
url为当前网址*/
}

WebSysViewObject.preloadScript(js)

添加网页默认加载的 JS 脚本,不会覆盖之前添加的脚本,
在网页初始化时执行,保证在 window.onload 事件前执行

WebSysViewObject.wait("字符串参数")

等待参数指定的网址打开,
参数支持模式匹配语法,
在指定的网页创建 document 对象后返回,
窗口关闭也会返回

WebSysViewObject.waitEle

等待网页创建指定节点

WebSysViewObject.waitEle(selector)

等待网页创建指定节点
@selector 参数指定CSS选择器,
省略参数@2时同步等待节点出现

WebSysViewObject.waitEle(selector,callback,timeout)

异步等待网页创建指定节点
@selector 参数指定CSS选择器,
参数@2指定 aardio 回调函数,
找到节点回调参数@1为选择器,
失败回调参数@2为错误信息,回调参数@1为null,
可选用参数@3指定超时,单位毫秒

WebSysViewObject.waitEle(selector,js,timeout)

异步等待网页创建指定节点
@selector 参数指定CSS选择器,
找到节点执行参数@2指定的 Javascript 代码,
执行JS代码时自动绑定this对象为找到的节点,
可选用参数@3指定超时,单位毫秒

WebSysViewObject.xcall

调用JS函数并返回值,
如果不需要返回值建议改用 invoke 函数

WebSysViewObject.xcall("object.func",...)

调用JS函数并返回值,
等待返回值过程中会继续处理界面消息,
参数@!指定要调用的函数名或返回函数的表达式,

如果参数 @1 不包含回车或换换行、分号、大括号、圆括号,
则参数 @1最后一个点号前的对象作为调用JS函数的 this 参数,

可指定一个或多个参数,参数使用JSON转换为JS值

Markdown 格式