使用webkit开发桌面软件2

admin2021-01-02  33

事件、常用函数
3.1、事件:
wbKitView.onTitleChanged 事件在网页标题改变时触发
wbKitView.onURLChanged 事件在网址改变时触发
wbKitView.onNavigation //打开链接时触发
wbKitView.onDocumentReady //文档加载完成时触发

3.2、常用函数:
webkit.wait() 等待网页加载就绪,如果页面上有调用执行JS这些最好在打开网页后加上这句。
webkit.waitDoc() 等待文档准备就绪并返回文档对象。
webkit.doScript("") 用于执行JS代码  
webkit.eval("") 运行JS表达式并返回结果,例如 webkit.eval("window") 返回JS中的window对象
webkit.querySelector("CSS选择器") 查找节点, web.form虽然也支持这函数但IE6就不行了,这个不用受这个限制。
webkit.querySelectorAll("CSS选择器") 查找多个匹配节点并返回集合

3.3、简单示例

 

import win.ui;
/*DSG{{*/
var winform = ..win.form(text="Web Kit";right=848;bottom=585)
winform.add()
/*}}*/

import web.kit.form;
wbKitView = web.kit.form(winform)

//网页标题改变时触发此事件
wbKitView.onTitleChanged = function(title){
    owner.getForm().text = title;
}

//网址改变时触发此事件
wbKitView.onURLChanged = function(url){
    //if(#url) owner.getForm().text = url;
}

//打开链接时触发
wbKitView.onNavigation = function(url,navigationType){
    if( navigationType == 0/*_WKE_NAVIGATION_TYPE_LINKCLICK*/ ){
        //navigationType可以判断打开链接类型
    }
    return true;//允许打开此链接
}

//文档加载完成时触发
wbKitView.onDocumentReady = function(url,mainFrameJSState,frameJSState){
    if( mainFrameJSState == frameJSState ){
        //判断是否主框架
    }
}

wbKitView.go("http://www.so.com")
winform.show();

wbKitView.wait();
wbKitView.querySelector("#input").value = "aardio webkit";
wbKitView.querySelector("#search-button").click();

wbKitView.wait();
wbKitView.doScript("alert('欢迎使用搜索引擎');");
winform.text = wbKitView.eval("document").location.href

win.loopMessage();
转载请注明原文地址: http://www.aardio.net/read-118.html
最新回复(0)