如何滚动一个webkit2gtk
小部件?在
在webkitgtk
(又名。webkit1
)将WebView
包装在ScrolledWindow
中,因此可以使用它的vadjustment
属性。在
对于wekit2gtk
,对WebView
的调用只返回None
,我看不到其他可调用的方法。在
作为解释,我想为webkit2
添加触摸支持。我通过在WebView
widget上添加一个透明层来破解这一点,但现在我发现我似乎无法使用它们。在
¹今天发布的一个版本取消了对顶层的需要。然而,我有触碰,却无能为力。在
Tags:
WebKit2中的进程分离有一些优点,但它也使许多事情变得更加复杂。我相信滚动是其中之一:它发生在web进程中,因为滚动条现在由webkit处理,而不是Gtk小部件。触摸处理也应该如此:它部分是在web过程中完成的。Carlos Garcia Campos写了一篇关于使用WebKitWebExtension来帮助解决这个问题的blog post。请注意,设计对您的代码也有很多影响:部分代码将在完全不同的进程中运行。在
其余答案未经测试,请将此视为更具教育意义的猜测:
我相信控制滚动的方法是通过DOM API,更具体地说是}则应该给您所需的
DOMDOMWindow.scroll*
函数。复杂的部分是获取对DOMDOMWindow
的引用,您需要实现一个WebExtension
,它将在web进程中运行,并允许您在创建WebPage
时得到通知。WebPage.get_dom_document()
调用给您一个DOMDocument
,而{DOMDOMWindow
。在对于domapi文档,Mozilla可能比spartan WebKit GTK DOM文档更好。在
如果我在做你想做的事情,我的第一站就是Freenode上的#webkitgtk+IRC频道,检查上面的方法是否真的是你想要的。。。在
您可以运行一些javascript来滚动页面。C API具有函数
webkit_web_view_run_javascript()
,因此您可以向它提供类似javascript的内容页面应该滚动。在
相关问题 更多 >
编程相关推荐