aardio 文档

web.sciter 库模块帮助文档

web 成员列表

web.sciter()

返回对象:websciterObject

web.sciter(窗口对象,捕获事件)

从窗口对象 创建 Sciter 窗口。
参数 @1 可指定窗口或控件对象。
参数 @2 默认仅允许捕获按钮命令等基本交互事件

web.sciter 成员列表

web.sciter.appendMasterCss(css)

追加默认CSS,
必须在创建Sciter窗体,以及调用其他函数以前调用

web.sciter.appendMasterCssFile("/res/master.css")

追加默认 CSS 文件
CSS 文件请使用UTF编码保存,
必须在创建 Sciter 窗体,以及调用其他函数以前调用

web.sciter.createEle()

返回对象:sciterEleObject

web.sciter.createEle(标签名,节点内容)

创建节点,
节点内容可省略

web.sciter.declareEle( "字符串参数", HLELM )

声明标记,
必须在创建Sciter窗体,以及调用其他函数以前调用,
并且须要早于设置MasterCss的函数调用

web.sciter.enableDebug()

允许在所有窗口使用 Sciter 调试工具

web.sciter.enableUiAutomation()

启用 UIAutomation 接口

web.sciter.jsObject

将指定的 aardio 对象转换为纯 JavaScript 对象

web.sciter.jsObject(object,isArray)

将参数 @object 指定的 aardio 对象转换为纯 JavaScript 对象,
可选用参数 @isArray 显示指定是否将表转换为数组。
返回 web.sciter.valueObject 对象

web.sciter.preloadScript(js)

web.sciter.preloadScript(`globalThis.test=1;/*添加所有网页在初始化时默认加载的 JavaScript 脚本*/`)

web.sciter.setGraphicsLayer("gdi")

设置绘图引擎,可选值为"gdi","d2d","auto"

web.sciter.setLoader(loader)

web.sciter.setLoader(  
    function(path){  
        return ..string.loadBuffer(path);/*自定义加载器*/  
    }     
)

web.sciter.setMasterCss(css)

替换默认 CSS
必须在调用其他函数之前调用

web.sciter.setOption(_SCITER,1)

设置选项

sciterElesObject 成员列表

sciterElesObject.?

Sciter 网页节点数组元素

返回对象:sciterEleObject

web.sciter.script 成员列表

JavaScript 对象,
指定此对象的键值即可指定 JavaScript 全局变量默认值

web.sciter.script.?

请输入 JavaScript 全局变量名,
用于写入 JavaScript 全局变量默认值,
注意这里只写不读

websciterObject 成员列表

websciterObject.$("标签名[属性名='属性值']")

使用CSS选择器语法,
查找所有符合条件节点

websciterObject.$()

返回对象:sciterElesObject

websciterObject.$1("标签名[属性名='属性值']")

使用CSS选择器语法,
查找第一个符合条件节点

websciterObject.$1()

返回对象:sciterEleObject

websciterObject.?

自定义 JavaScript 可以调用的本地函数,
函数名建议用 on 作为前缀。
注意此回调函数的第一个参数必须是 scOwner,
并且值总是 null

在 JavaScript 中可用 Window.this.xcall 调用此函数,
参数@1 指定要调用的函数名

websciterObject.addHeaders

websciterObject.addHeaders = /**  
Accept-Language: cn  
/*设置默认的HTTP请求头  
多个请求头使用回车换行分隔*/  
**/

websciterObject.attachEventHandler(eventHandler,subscription)

添加事件监听对象,参数一不可省略,
subscription 可选使用 HL_HANDLE 前缀常量指定捕获的事件,
省略该参数则根据定义的回调函数自动设定该值,
也可以使用对象的 _event_subsriptions 成员指定该值,
该函数返回事件ID,用于注销监听

websciterObject.call("函数名",其他参数)

调用 JavaScript 脚本函数
JavaScript 对象返回为 web.sciter.valueObject对象,其他基础对象转换为aardio类型
使用 web.sciter.isValueObject 函数可以判断返回值是否JavaScript对象

websciterObject.call()

返回对象:webSciterValueObject

websciterObject.callback

websciterObject.callback = function ( message,wParam,lParam,vParam,notifyCode ) {  

}

websciterObject.combineUrl(URL)

将URL转换为绝对路径,
可省略参数返回 baseURL

websciterObject.commitUpdates()

立即更新所有节点
因为节点可能会延迟更新,
需要立即获取节点更新后的位置可调用此函数
该函数不会调用updateWindow

websciterObject.createEle()

返回对象:sciterEleObject

websciterObject.createEle(标签名,节点内容)

创建节点,
节点内容可省略

websciterObject.css

websciterObject.css = /**  
#my-button{   
    behavior:"my.command";   
    active-on!:  
        /*输入CSS脚本,语句用逗号分隔*/  
    ;   
}   
**/

websciterObject.debug()

import web.sciter.debug;  
websciterObject.attachEventHandler( web.sciter.debug );

websciterObject.detachEventHandler(事件ID)

注销事件监听对象,事件ID不可省略

websciterObject.doScript("脚本代码")

执行 JavaScript 脚本代码
参数@1可以是脚本代码、或脚本文件、支持资源文件。
如果 参数@2 非 null 则先用 string.format 格式化所有参数。
可使用 return 语句返回值

websciterObject.documentElement

返回对象:sciterEleObject

websciterObject.enableDebug()

允许在此窗口使用 Sciter 调试工具

websciterObject.enumQuery(枚举函数,CSS选择器,格式化参数)

websciterObject.enumQuery(  
    function(scEle){  
         /*返回true停止枚举*/  
    },"div"  
)

websciterObject.enumRes(枚举函数)

websciterObject.enumRes(  
    function(uri,resType,imgData,size){   
        /*枚举页面页源*/   
    }   
)

websciterObject.eval()

计算参数 @1 指定的 JavaScript 脚本表达式的值。
JavaScript对象返回为 web.sciter.valueObject对象,
其他基础对象转换为aardio类型
使用 web.sciter.isValueObject 函数可以判断返回值是否JavaScript对象

如果 参数@2 非 null 则先用 string.format 格式化所有参数

返回对象:webSciterValueObject

websciterObject.eventsHandler

websciterObject.eventsHandler = function (tag,he,evtg,prms) {  

}

websciterObject.external

websciterObject.external = {  
    scriptCallTest = function(str){   
        /*定义网页脚本可直接调用的external对象*/  
        return "收到:"+str;   
    }  
}

websciterObject.fireEvent

触发 JavaScript 全局事件
注意 HTML 节点对象有同名函数用于触发节点的事件

websciterObject.fireEvent(eventName,data,post,he)

触发 JavaScript 全局事件,
除参数@1必须指定字符串以外的其他参数为可选参数
可选用参数@2指定目标事件的 event.data 参数,其他参数可选,
可选参数 @post 指定是否异步调用

websciterObject.fromPoint()

返回对象:sciterEleObject

websciterObject.fromPoint(x坐标,y坐标,是否屏幕坐标)

参数三可选,默认为窗口客户区坐标
成功返回节点对象

websciterObject.getCtrl("字符串参数")

根据ID或name查找节点,
并获取在该节点中自定义的控件对象

websciterObject.getCtrl()

返回对象:staticObject

websciterObject.getEle("字符串参数")

根据ID查找节点
如果未找到,尝试使用name查找

websciterObject.getEle()

返回对象:sciterEleObject

websciterObject.getEleByUid()

返回对象:sciterEleObject

websciterObject.getEleByUid(UID)

根据唯一标志符(数值)返回节点

websciterObject.getEles("字符串参数")

根据name属性查找节点

websciterObject.getEles()

返回对象:sciterElesObject

websciterObject.getFocus()

获取当前输入焦点所在节点

返回对象:sciterEleObject

websciterObject.go("字符串参数")

跳转到指定网址,支持aardio资源文件
HTML文件使用BOM标记或HTM代码内的编码声明识别编码,
如果参数指定的是aardio文件,参数@2可选用一个表指定request.get对象

websciterObject.html

websciterObject.html = /**  
<!doctype html>  
<html>  
<head>  
   <META http-equiv="Content-Type" content="text/html; charset=utf-8">  
    <script>  

    </script>  
    <style type="text/css">  
    html,body{ height:100%; margin:0; }   
    </style>  
</head>  
<body>  
    <div id="header"></div>  
    <div id="container">   
        <div class="lside"> </div>   
        <div class="rside"> </div>    
    </div>  
</body>  
</html>  
**/

websciterObject.onDataLoaded

websciterObject.onDataLoaded = function(lParam) {
    var dataLoaded = raw.convert(lParam,{
        INT code; 
        addr hwnd;
        ustring  uri; 
        ptr data;
        INT dataSize; 
        INT dataType;
        INT status; 
    });
    /*单个文件数据加载完成后触发*/
}

websciterObject.onFrameDocumentComplete

websciterObject.onFrameDocumentComplete = function(scTarget,scOwner,reason,behaviorParams) {
    if( scTarget != scOwner.root() ) return;
    /*文档或框架文档已加载  
此事件在onDocumentReady以后触发*/
}

websciterObject.post(网址,参数)

参数可以是字符串或键值对组成的表对象
该函数可触发onDataArrived事件

websciterObject.preloadScript(js)

添加网页默认加载的 JS 脚本,不会覆盖之前添加的脚本,
在网页解析后,其他JavaScript脚本执行前执行,
此函数返回已添加的所有初始化脚本,
仅获取脚本时可以不指定参数

websciterObject.queryEle()

返回对象:sciterEleObject

websciterObject.queryEles()

返回对象:sciterElesObject

websciterObject.querySelector("标签名[属性名='属性值']")

使用CSS选择器语法,
查找第一个符合条件节点,
如果有多个参数则首先调用string.format格式化为CSS文本,
该函数名可使用'$1'代替,等价于CSS!中的$1函数

websciterObject.querySelector()

返回对象:sciterEleObject

websciterObject.querySelectorAll("标签名[属性名='属性值']")

使用CSS选择器语法,
查找所有符合条件节点,
如果有多个参数则首先调用string.format格式化为CSS文本,
该函数名可使用'$'代替,等价于CSS!中的$函数

websciterObject.querySelectorAll()

返回对象:sciterElesObject

websciterObject.setCss(css,mediaType,baseUrl)

替换CSS

websciterObject.setMediaType(mediaType)

设置媒体类型

websciterObject.setOption(_SCITER,1)

设置选项

websciterObject.traverseUiEvent(结构体参数)

结构体参数是 web.sciter.event.MOUSE_PARAMS 或 KEY_PARAMS
该函数发送事件经过捕获与冒泡过程直到事件被处理

websciterObject.updateWindow()

更新窗口
如果仅仅需要更新节点位置等,可调用commitUpdates函数

websciterObject.wait()

等待所有资源加载完成

websciterObject.write(/*HTML 代码*/)

写出指定 HTML 代码

websciterObject.xcall

调用 JS 函数并返回值。
此函数使用 JSON 在 JS/aardio 之间转换参数与返回值

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

调用JS函数并返回值。
此函数使用 JSON 在 JS/aardio 之间转换参数与返回值。

参数 @1 指定要调用的函数名或返回函数的表达式,

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

websciterObject.script 成员列表

JavaScript 对象,
指定此对象的键值即可指定 JavaScript 全局变量默认值

websciterObject.script.?

请输入 JavaScript 全局变量名,
用于读写 JavaScript 全局变量,
可用于获取 JavaScript 函数

自动完成常量

_SCITER_ALPHA_WINDOW=0xC
_SCITER_CONNECTION_TIMEOUT=2
_SCITER_ENABLE_UIAUTOMATION=0x11
_SCITER_FONT_SMOOTHING=4
_SCITER_HTTPS_ERROR=3
_SCITER_SET_DEBUG_MODE=0xA
_SCITER_SET_GFX_LAYER=9
_SCITER_SET_GPU_BLACKLIST=7
_SCITER_SET_INIT_SCRIPT=0xD
_SCITER_SET_MAIN_WINDOW=0xE
_SCITER_SET_MAX_HTTP_DATA_LENGTH=0xF
_SCITER_SET_PX_AS_DIP=0x10
_SCITER_SET_SCRIPT_RUNTIME_FEATURES=8
_SCITER_SET_UX_THEMING=0xB
_SCITER_SMOOTH_SCROLL=1
_SCITER_TRANSPARENT_WINDOW=6

Markdown 格式