在Python应用程序中使用WebKitGtk+时,是否有一种方法可以从JS调用Python函数?
Is there a way to call Python functions from JS, when using WebKitGtk+ in a Python app?
我来自Windows窗体世界,在那里他们有这个ObjectForScripting
属性,使得它微不足道的暴露c#对象的JavaScript运行在你的WebViews。我希望在Python中做类似的事情,而WebKitGtk+似乎是WebView的自然选择。但是似乎没有一种简单的方法可以将Python对象绑定到JS中。是否有一个简单的方法,我错过了,或者可能是WebKitGtk+的替代方案,将更好地做到这一点?谢谢你的建议。
这是一个解决方法:使用自定义方案拦截url。
- 处理资源请求启动信号,检查URL是否以
python:
开头 - 如果是,解析URL (
eval
?允许的函数字典?(由您决定)并调用相应的函数。 - 将请求的URL替换为
data:text/plain,<result of function call>
。 - 在JavaScript中,向
python:my_function()
发出Ajax请求。
这是非常有限的,但工作,在我的情况下,与Haskell绑定
我最终选择了PyQt,因为它对将本机对象暴露给JS有强大的支持。下面是一些很好的例子:
http://pysnippet.blogspot.com/2010/01/calling-python-from-javascript-in-pyqts.htmlhttp://pysnippet.blogspot.com/2010/01/more-fun-with-qwebkit.html
相关文章:
- 在HTML网页中运行python方法
- 相当于Python's values()字典方法
- 有没有一种安全的方法可以将 React.js 与 Python Flask 后端用于多用户、受密码保护的站点
- 如何通过“POST”方法将数据从Javascript传递到Python
- 如何从javaScript调用python或java方法
- Django,Dajax和Javascript - onclick不调用python方法
- 有没有其他方法可以在纯python中实现javascript的onClick()函数
- Python动态方法
- 将JavaScript对象/数组转换为Python dict/list的最快方法
- 用javascript执行外部方法python
- Python和Selenium:What'这是访问Javascript构建的下拉菜单中隐藏的链接的好方法
- Python:有没有一种方法可以获得由Javascript动态创建的HTML
- 可以在python笔记本中使用Vim(类绑定).木星的变通方法
- Django/Python:在不同时间使用用户上传的文件用于两个不同的视图方法
- 有任何可能的方法来嵌入javascript在python的windows
- Python for Google App Engine: 405方法不允许
- 在 Python 程序中包装画布标签 + javascript 的最简单方法
- 将二进制字符串解释为Python中的图像,由Javascript本地方法生成
- 使用ajax的Python flask get和post方法
- Python中javascript风格的对象方法