使用webkit开发桌面软件3

admin2021-01-02  267

注册JS全局函数、加载插件、设置User Agent
5.1、 注册JS全局函数
注册JS全局函数很简单,先看一个例子:

//自定义js中的alert函数
web.kit.jsBindFunction("alert",1/*JS回调时的参数个数*/,function(str){
    var wbKitView = owner; //owner是当前调用此函数的webkit视图对象
    var winform = wbKitView.getForm(); //这是显示网页视图的win.form窗体对象
    if( winform ) winform.msgbox(str);
})

在创建webkit窗口视图以前就可以先注册这些全局函数。


5.2、 如何使用插件
web.kit会在当前目录下的plugins子目录下搜索插件,
可以使用 fsys.setCurDir() 函数或 ::Kernel32.SetCurrentDirectoryW() 函数修改当前目录。

web.kit也支持在注册表中自动搜索HKCU\Software\MozillaPlugins下面注册的插件路径并加载。web.kit扩展库已经默认包含了flash插件,但这个插件不是必须的,如果不使用flash可以在发布时选择不需要该插件,那么最后需要发布的文件体积就比较小了(7z压缩后大概 3.xMB, 因为7z已经非常流行了,建议用7z压缩)
5.3、 设置User Agent

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

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

wbKitView.userAgent = "Mozilla/5.0"
wbKitView.go("http://eu.httpbin.org/headers")
winform.show();

win.loopMessage();

5.4、 如何设置代理
很简单,通过环境变量设置代理,格式: win.setenv("HTTP_proxy","http://代理服务器IP:代理端口/")

示例程序:

import win.ui;
/*DSG{{*/
var winform = win.form(text="webkit form";right=811;bottom=497)
/*}}*/

//设置webkit代理
win.setenv("HTTP_proxy","http://代理服务器IP:代理端口/")

import web.kit.form
var wbKit = web.kit.form(winform)
wbKit.go("http://www.ip.cn/")

winform.show()
win.loopMessage();

调用下面的代码也可以设置代理:

web.kit.configure({
    proxy = {
        type = "HTTP";
        hostname = "127.0.0.1";
        port = 8080;
        username = "";
        password ="";
    };
    cookieFilePath = "/cookie";
})
转载请注明原文地址: http://aardio.net/read-119.html
最新回复(0)