是否可以在 Python 中嵌入 Gecko,以便我可以显示 HTML 文档。然后可能创建自定义 Javascript 绑定,以便我可以在 HTML 文档中调用我自己的 Javascript 函数,这些函数将执行一些浏览器通常不允许的任务,例如进行系统调用。这将由底层 python 程序完成。
1 回答
实际上,有多种方法可以做到这一点。首先,您是否正在使用另一个 GUI 库(例如 wxPython、Tkinter、PyGTK 等)并且您想将 Gekco 嵌入到您在其中一个框架中创建的窗口中?即,您是否尝试将 Gecko 框架嵌入到 Tkinter(或 wxPython,或 PyGTK,或...)窗口中?
仅将 Gecko 用于 GUI是否可行?如果是这样,您可能想看看XUL (and xulrunner)。Gecko 可以通过 XPCOM 与外界交互,并且 Python 与 XPCOM 有一些集成(参见Google Code 中的 pythonext)。因此,可以编写一个混合应用程序,其中 UI 元素在 XUL 中使用活动 javascript 进行描述,并且信号被发送到 UI 和您的 python 代码(在本地运行并且可以执行任意系统调用等)。
沿着同样的思路,但更简单一些,您可以创建一个 python 脚本来启动一个 xulrunner 应用程序和一个本地运行的网络服务器。xulrunner 应用程序托管 GUI 以及活动的 javascript 代码,而本地运行的网络服务器执行任意 python 代码(包括本地系统调用)。我已经多次使用(“包括电池”)BaseHTTPServer 来做类似的事情,我相信你会发现这样做相对简单。