问题标签 [browser-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
769 浏览

c++ - 如何在 NPAPI 中获取 iframe html 文档

我正在尝试获取框架内的文档。

以下不会失败:

但以下失败,返回一个空元素:

我也尝试使用 tag 检索所有元素IFRAME,但访问contentWindow orcontentDocument属性返回一个 void 元素。

还有其他方法吗?

0 投票
1 回答
1366 浏览

c++ - 在 QT 中编写浏览器插件

我想尝试在 QT 中编写浏览器插件。

它将支持哪些浏览器?

我找不到更新的文档(对于 QT 4.7.0)如何做到这一点。

有人可以提供文档\教程\示例的链接吗?

谢谢!

0 投票
1 回答
1154 浏览

plugins - NPAPI:非可视插件的首选窗口模型(windowed/windowless/xembed)

我正在创建一个不应该有 UI 的 NPAPI 插件(仅用于 Javascript)。我应该使用什么窗口模型(windowed/windowless/xembed)来支持尽可能多的浏览器(和浏览器版本)?

我目前实现以下功能:

  • NPP_SetWindow: 什么都不做,返回NPERR_NO_ERROR
  • NPP_Event: 什么都不做,返回kNPEventNotHandled(0)
  • NPP_SetValue: 什么都不做,返回NPERR_NO_ERROR
  • NPP_GetValue: 如果被询问NPPVpluginNeedsXEmbed,如果浏览器支持,则回答是(NPNVSupportsXEmbedBool),否则回答否

对于这个插件,我现在只支持 Linux 和 Windows。这对于 Linux 上NPPVpluginNeedsXEmbed的 Chrome 是必需的(错误 38229),但是一些旧版本可能不支持它,因为MDC 页面说 XEmbed 的示例插件仅在 Firefox 2.0+ 上受支持。

0 投票
1 回答
541 浏览

cmake - 在 Linux x86 和 x86_64 上构建 NPAPI 浏览器插件,如何确保它加载其依赖库的正确版本?

我正在尝试使用在 32 位和 64 位 Linux 上运行的 Firebreath 构建 Linux 浏览器插件。

在我的 X11/projectDef.cmake 我有

目前,当我想要进行不同的构建时,我只是手动将那条线切换 32 更改为 64,所以这可能是错误的。但我的问题是,即使我使用 32 位库构建并成功编译,尝试在 Firefox 中加载插件时也会出现以下错误:

如何设置我的 cmake 以根据架构自动包含正确的库?有没有办法在同一台机器上同时构建 x86 和 x86_64?如何让插件正确加载,或者有没有办法进一步调试这个问题?

0 投票
2 回答
208 浏览

firefox-addon - 识别自定义图像格式的浏览器插件

我有自定义文件格式的图像(基本上包含 RAW 数据),并且我希望它们可以在浏览器中查看(无需将它们转换为标准格式,例如 jpg/png)。

是否可以编写一个浏览器插件来读取我的自定义格式并在浏览器中显示图像(比如 PDF 阅读器)?

我可以使用 Flash 做到这一点,但我想看看是否可以避免下载 Flash SWF 来显示图像。

浏览器插件/扩展是否可以从 Web 获取二进制数据,对其进行处理并将其呈现在浏览器屏幕上的特定区域?哪些浏览器可以使用,哪些浏览器不可以?

0 投票
2 回答
5356 浏览

google-chrome-extension - NPAPI 插件未在 chrome 上加载

我有一个由 dll 和 manifest.json 文件组成的 npapi 插件。这个 npapi dll 被检测为 chrome 上的插件,即它列在 about:plugins 页面上。但是,当我使用标记在示例 html 页面中调用此插件时,它显示“插件无法加载”。为什么这个插件无法在 chrome 中加载的任何想法。

谢谢

0 投票
1 回答
1372 浏览

cocoa - 如何在可可事件模型 NPAPI 插件中获取 NSView

我遵循了夜间 Webkit 构建中的 NetscapeCocoaPlugin 示例,并且能够构建使用 Cocoa 事件模型的 NPAPI 样式插件。

我现在的问题是如何在 NPP_SetWindow 中获取 NSView。

线程中的一张海报说,可以使用 [NSView focusView],但我无法让它工作

我当前的功能如下所示:

0 投票
1 回答
197 浏览

firefox - CWindowImpl::Create() 在 Windows 7 中失败

我有一个 Firefox 插件 dll,它在 Windows XP 中运行良好,但在 Windows 7 中崩溃。问题在于 CWindowImpl::Create() 无法创建窗口(窗口句柄为 NULL)。此外,GetLastError() 返回 NULL。

我正在使用 ATL 3.0。我正在考虑这是否会成为问题,因为许多接口类(如 CComModule)现在已过时。但令人惊讶的是,相同的 API 也适用于 IE9。所以,无法下定论。我还没有找到解决方案。在 msdn 论坛中找到了类似的查询 - http://social.msdn.microsoft.com/Forums/en-US/vcmfcatl/thread/2f200b88-622a-4f7c-9833-7d08bac4fa5f/但还没有解决方案。

任何帮助将不胜感激。

拉维什

0 投票
1 回答
470 浏览

google-chrome - 如何编写一个仅与特定 chrome 扩展交互的安全 NPAPI 插件?

我想编写一个 chrome 扩展程序,它会根据某些事件自动(无需用户交互)从本地存储读取和上传文件。我知道这不是直接可能的,因为网络和浏览器的安全模型。

在网上研究后发现这可以通过一个 NPAPI 插件来实现。据我了解,我可以编写一个 chrome 扩展,它将(通过 NPRuntime API)与 NPAPI 插件交互并请求上传文件。该插件将检索文件并以文件数据进行响应。

问题 1:架构是否以合理/有效的方式来完成我的任务?

如果是这样,那么我担心的是这种方法的安全性。

问题 2:由于我的插件将从本地存储读取(并且可能写入)内容,我将如何以安全的方式对其进行编码,以免被其他恶意站点/扩展程序滥用?我的插件应该只适用于我的扩展,而不适用于任何其他站点/扩展。我将如何实现这一目标?换句话说,我应该采取什么样的措施来保护我的 chrome 扩展程序和 NAAPI 插件之间的交互,以便没有恶意攻击的余地?

0 投票
4 回答
20795 浏览

firefox - firefox 附加组件 vs. 扩展 vs. 插件

我想为 Firefox 编写脚本。Firefox 似乎有不同的术语,例如附加组件、扩展程序、插件。我有一种感觉,它们并不完全相同。你能用几句话总结一下两者的区别吗?