我需要创建一个跨平台(Win,Mac和Linux)应用程序嵌入WebKit浏览器与HTML5和WebGL支持。 到目前为止,我使用Java/SWT方式,但是在Windows上使用webkit只是部分可能的(仅限win32,safari 5),并且具有有限的html5支持,根本没有3D。跨平台应用程序嵌入Webkit支持WebGL支持
在linux下我顺利地嵌入了WebGL的支持webkit2gtk3在VALA这样的:
using GLib;
using Gtk;
using WebKit;
public class Browser : Window {
private const string URL = "http://lo-th.github.io/Oimo.js/index.html";
public Browser() {
this.add(this.create_web_window());
this.destroy.connect(Gtk.main_quit);
}
private ScrolledWindow create_web_window() {
var view = new WebView();
view.get_settings().set_enable_webgl(true);
view.load_uri(Browser.URL);
var scrolled_window = new ScrolledWindow(null, null);
scrolled_window.set_policy(PolicyType.AUTOMATIC, PolicyType.AUTOMATIC);
scrolled_window.add(view);
return scrolled_window;
}
public static int main(string[] args) {
Gtk.init(ref args);
var browser = new Browser();
browser.resize(800,600);
browser.show_all();
Gtk.main();
return 0;
}
}
编译
valac --vapidir=. --pkg gtk+-3.0 --pkg webkit2gtk-3.0 --thread hellowebkit.vala
我也有使用Python的成功是这样的:
#!/usr/bin/env python
import gtk, webkit
w = gtk.Window()
w.set_title("Example Editor")
w.connect("destroy", gtk.main_quit)
w.resize(800,600)
scroll = gtk.ScrolledWindow()
w.add(scroll)
browser = webkit.WebView()
browser.get_settings().set_property("enable-webgl", True)
scroll.add(browser)
w.show_all()
browser.open("http://lo-th.github.io/Oimo.js/index.html");
gtk.main()
所以现在的问题是:是否有机会(和文档)来获得上述任何(com打桩)并且在Win32/64和OSX上运行并支持WebGL?
我有一个快速的样子,它似乎很有趣。这与我在mint中的有点区别(将WebKit嵌入到java或py中)位它可能是实现相同目标的强大替代方案。谢谢! – lviggiani
我刚测试过它,它也适用于webgl(在arch linux上)。不幸的一面是该项目仍处于演示/预览模式,您可以从常出现的分割错误中看到它。我注意到Arch Linux用户:因为arch linux现在使用systemd,所以你必须创建一个象libcef这样的符号链接来工作:ln -sf /usr/lib/libudev.so.1.0.1/usr/lib/libudev .so.0 – lviggiani
噢好吧,不知道。试过在Windows和Mac上,运行良好。无论如何,我已经用同样的线路更新了我的答案和其他几个备选方案。 – aravind