我来自 Windows 窗体世界,他们拥有这个ObjectForScripting
属性,可以轻松地将 C# 对象公开给在 WebView 中运行的 JavaScript。我希望在 Python 中做类似的事情,而 WebKitGtk+ 似乎是 WebView 的自然选择。但是似乎没有一种简单的方法可以将 Python 对象绑定到 JS 中。有没有一种我想念的简单方法,或者 WebKitGtk+ 的替代方法可以更好地做到这一点?感谢您的任何建议。
问问题
910 次
2 回答
4
这是一种解决方法:使用自定义方案拦截 URL。
- 处理resource-request-starting信号并检查 URL 是否以
python:
- 如果是这样,以某种方式解析 URL(
eval
?允许函数的字典?由你决定)并调用适当的函数。 - 将请求的 URL 替换为
data:text/plain,<result of function call>
。 - 在 JavaScript 中,向
python:my_function()
.
这是非常有限的,但就我而言,它适用于 Haskell 绑定。
于 2013-04-25T01:09:30.213 回答
-1
我最终选择了 PyQt,因为它强烈支持将原生对象暴露给 JS。这里有一些很好的例子:
http://pysnippet.blogspot.com/2010/01/calling-python-from-javascript-in-pyqts.html http://pysnippet.blogspot.com/2010/01/more-fun-with-qwebkit.html
于 2013-04-26T19:06:26.760 回答