Qt 中的 QtWebKit 模块是否支持 ActiveX 控件?
我正在尝试使用 QtWebKit(特别是 QWebView 小部件)来显示包含 ActiveX 控件的网页。在我第一次尝试时,ActiveX 控件似乎没有加载。我想知道 QtWebKit 是否真的支持 ActiveX 控件,并且我无法立即找到任何以某种方式给出答案的文档。
QtWebKit/QWebView是否支持ActiveX控件?
I'm attempting to use QtWebKit (specifically, a QWebView widget) to display a web page that contains an ActiveX control. On my first attempt, the ActiveX control doesn't appear to be loading. I'm wondering if QtWebKit actually supports ActiveX controls, and I can't immediately find any documentation that gives an answer one way or another.
Does QtWebKit/QWebView support ActiveX controls?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
AFAIK 唯一原生支持 ActiveX 控件的渲染引擎是 MSIE。但是,有一个 QT 组件将包装 ActiveX 控件(称为 QAxWidget IIRC)和 QT 浏览器插件框架模拟 netscape 插件。您可以使用它们在 QT 容器中嵌入 ActiveX 控件,并通过 Webkit 显示该控件(支持 netscape 插件 API)。
这是一个相当复杂的方法,但是使用浏览器插件框架制作一个组件 相当简单,并且在页面上显示它也很简单。 ActiveX 包装器组件可能可以相当容易地构建到这种类型的插件中,因此实现它可能并不那么复杂。
AFAIK The only rendering engine with native support for ActiveX controls is MSIE. However, there is a QT component that will wrap an ActiveX control (called QAxWidget IIRC) and a QT browser plugin framework that emulates a netscape plugin. You might be able to use these to embed an ActiveX control within the QT container and display this through Webkit (which supports the netscape plugin API).
That's a fairly convoluted approach, but making a component with the browser plugin framework is fairly straightforward and displaying it on a page is simple. The ActiveX wrapper component could probably be fairly easily built into a plugin of this type, so implementing it might not be all that complex.
虽然 WebKit 可以用作 ActiveX 控件,但它不支持其中的 ActiveX 控件。
While WebKit can be used as an ActiveX control, it does not support ActiveX controls within it.
虽然 WebKit 不托管 ActiveX 控件,但您可以使用 NPAPI 插件来包装 ActiveX 插件。如果您可以接受其许可 (LGPL),ff-activex-host已经提供了这个功能。
While WebKit doesn't host ActiveX controls, you can use an NPAPI plugin to wrap an ActiveX plugin. If you can live with it's license (LGPL), ff-activex-host already provides this functionality.