我来自Windows Forms世界,他们拥有这个ObjectForScripting
属性,这使得将C#对象暴露给在WebViews中运行的JavaScript变得微不足道。我希望在Python中做类似的事情,而WebKitGtk +似乎是WebView的自然选择。但似乎没有一种简单的方法将Python对象绑定到JS中。有没有一种简单的方法可以让我失踪,或者可能是WebKitGtk +的另一种选择,它可以更好地做到这一点?感谢您的任何建议。
答案 0 :(得分:4)
以下是一种解决方法:使用自定义方案拦截网址。
python:
eval
?允许的函数字典?由您决定)并调用相应的函数。data:text/plain,<result of function call>
。python:my_function()
发出Ajax请求。这是非常有限的,但就我而言,可以使用Haskell绑定。
答案 1 :(得分:-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