GTK Webkit 添加JS对象
来源:互联网 发布:知乎.基金公司面试 编辑:程序博客网 时间:2024/05/09 20:51
尽管GTK Webkit没有类似于QT Webkit 的 addToJavaScriptWindowObj
但我们还是可以利用JavascriptCore的接口函数来实现对Javascript扩展对象的
添加, 只不过过程会稍微复杂一点。
首先要定义一个JSClassRef结构, 该结构用来指定类的成员函数,属性等信息,
然后调用JSClassCreate()接口来创建这个类, 创建成功后, 调用JSObjectMake()接口
把该类结构转换为一个Javascript对象, 最后把该对象设置到Javascript的上下文环境即可。
说起来啰嗦, 实现起来也是比较容易,具体可以参考示例代码。
同样要注意在跨页面的时候,该对象会被清除,所以要重新加回来,方法很简单,
只要捕获window-object-cleared信号即可,在该信号处理函数里面执行增加对象
的操作即可。
参考示例代码如下:
// 类创建函数:
JSClassRef Foo_ClassCreate(JSContextRef ctx)
{
}
void foo_Initialize(JSContextRef ctx, JSObjectRef object)
{
}
void foo_Finalize(JSObjectRef object)
{
}
JSValueRef foo_GetVerbose(
{
}
JSValueRef foo_Print(JSContextRef ctx,
{
}
// window-object-cleared信号处理函数
JSStringRef className = JSStringCreateWithUTF8CS
void foo_WindowObjectClearedCB(
{
}
// 安装信号
在GTK应用中创建浏览器的时候,用以下代码来安装window-object-cleared信号即可。
WebKitWebView *view = WEBKIT_WEB_VIEW (webkit_web_view_new ());
g_signal_connect(G_OBJECT (view), "window-object-cleared", G_CALLBACK(foo_WindowObjectClearedCB), view);
//HTML测试代码:
<script>
Foo.print("Hello world!");
</script>
- GTK Webkit 添加JS对象
- GTK Webkit 添加JS对象
- GTK Webkit 添加JS对象
- QT Webkit 添加JS对象
- webkit js扩展方式之Binding添加新DOM对象
- ubuntu gtk webkit 安装
- 有关webkit-gtk
- Ubuntu 编译Webkit --gtk
- android webkit 添加全局js function
- webkit 扩展JS(添加新类)
- Webkit JS扩展对象 多实例实现
- WebKit之JS内嵌C++对象
- gtk webkit 设置user-agent
- build webkit for gtk port
- DFB GTK WEBKIT移植
- webkit 版本QT 、GTK 是什么
- 在webkit里面给window对象添加方法
- WebKit中为JS binding扩展DOM对象
- GPU核函数运行unspecified launch failure
- sql Case语句 条件语句
- 【工作依赖】解题报告
- android Installation error: INSTALL_FAILED_CONFLICTING_PROVIDER
- 会有Silverlight6吗?
- GTK Webkit 添加JS对象
- Smarty模板中变量的声明
- ORACLE插入日期数据
- Java中重载和重写的区别
- ArcGIS VBA - VBA+AO入门15例完全注释版
- 使用SoundPool放声音
- shell 实现文本导入oracle 数据库
- 迎接2012之类的内存释放实现
- IE6 CSS bug: position:relative元素被overflow:auto/scroll元素包含