问题标签 [browser-extension]

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 投票
2 回答
1461 浏览

python - 用于 Web 浏览器的 Python URL 处理程序

如何使用 Python 向浏览器添加处理程序,因此当有人单击 foo://foobar/ 之类的链接时,它会打开我的程序来处理它?理想情况下,会有一种跨平台的方法,但我认识到可能需要特定于操作系统的代码。

0 投票
1 回答
136 浏览

javascript - firefox插件:回到脚本

我是扩展程序编程的新手,但发现在 Chrome 中进行扩展更加容易,但是现在我正在尝试将我的测试扩展移植到 FF 我有几个问题,关于如何在 Chrome 中做同样的事情......现在在法郎。

例如:在 Chrome 中,我的扩展目录中有一个页面,名为:domains.html 我从弹出窗口链接到该页面,它可以访问我的所有脚本等,但“外部”世界无法直接访问它。

FF 中是否有这样的东西,以便我可以显示我的附加文件夹中的页面并可以访问我的附加组件的 JS 和其他文件?

谢谢!

0 投票
3 回答
9991 浏览

javascript - Javascript 中的安全 OAuth

我有一个使用 OAuth 1.0a 对使用它的应用程序进行身份验证的 api。它正在替换一个旧的 api,该 api 使用了许多已被弃用的自定义构建和大杂烩调用。

众所周知,OAuth 1.0a 在(客户端)Javascript 中是不安全的,因为它依赖于保密的消费者秘密。这是不可能的,因为源始终可见。

我们有 Chrome、Firefox、IE 和 Safari 的浏览器扩展,将来需要使用这个 api。这些扩展大部分或完全用 Javascript 编写,因此存在安全问题。

这些扩展是内部的,因此可以使用自定义身份验证方法来获取其访问令牌。

我计划实施的内容如下:

  • 用户在浏览器中登录网站。
  • 该网站向他们发送一个带有会话密钥的 cookie。
  • 然后,我们的扩展程序获取该 cookie 并将其传递给 api。
  • 该 api 验证它是一个有效且活动的会话,并向扩展发出其访问令牌。
  • 这些令牌在到期前最多持续一小时。
  • javascript 发布的 cookie 的速率限制也会较低。

它在以下假设下运作:

  • 如果另一个应用程序可以访问您的 cookie,那么他们无论如何都可以在网站上冒充您,因此访问 api 没有什么不同。
  • 所有身份验证方法仍然通过我们的控制。
  • 令牌的定期到期意味着如果它们被破坏,那么利用的时间是有限的。

我的问题是,这是限制对 api 的访问的安全方法吗?有没有更好的?

一些笔记。 我知道 chrome 扩展可以请求访问给定站点的 cookie 的权限。我相信 Firefox 扩展也可以做到这一点。

显然,我们不希望通过任何页面上的 javascript 访问我们的 cookie,否则我们会将自己暴露于 XSS 攻击,因此它们只需要通过扩展来访问。

0 投票
2 回答
3691 浏览

sdk - Firefox 5、6、7 和 XULRunner:哪些版本是哪些?

我正在尝试重新编译具有二进制组件的 Firefox 扩展,以便与 Firefox 5 一起使用,因为测试版已经发布。据此,需要重建二进制组件。我不知道从这里下载和构建哪个 xulrunner 。

是否有一个表格将 FF 版本(5、6、7)与代号(Beta、Central、Aurora)与 Xul Runner 版本(2 等)相匹配?

任何体面的指南都会很棒。

更新

看起来 SDK / Mozilla 版本号已更改为与 Firefox 的版本号匹配。基于此,我现在的猜测是:

0 投票
2 回答
1663 浏览

javascript - 如何通过 Javascript 检测 Internet Explorer 的临时 Internet 文件位置?

我正在尝试将 Firefox 扩展移植到 IE。我需要具备的功能之一是能够写入浏览器的临时文件。在 Firefox 中,这很容易通过以下代码完成:

这种方法比硬编码路径更可取,因为它可能会在不同版本的 Windows / IE 上发生变化。

我想出了如何通过以下方式在 IE 中创建和写入文件:

现在我只是想知道如何自动检测 IE 的临时文件位置?

0 投票
1 回答
34 浏览

javascript - 有没有办法通过 javascript 运行浏览器插件或附加命令?

有没有办法通过 JavaScript 运行浏览器 (IE) 插件或附加命令?

0 投票
1 回答
1318 浏览

c# - 如何在 Internet Explorer BHO 扩展中附加子节点?

我正在移植一个 firefox 扩展程序,只是尝试将一个按钮附加到网页上的一个节点。但是页面上什么也没有发生。我相信它必须与 HTMLDOMNode 和 HTMLElement 之间的转换有关。使用 IE dev add on 在控制台内我什至没有收到任何错误。

我的代码:

0 投票
2 回答
208 浏览

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

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

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

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

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

0 投票
1 回答
1110 浏览

javascript - 在 Firefox 扩展中注入动态脚本

我现在正在做一个扩展,我有一部分脚本是静态的(永远不会改变),另一部分是从网站加载的。而且,我看到了两种方式:

  1. 用 XMLHttpRequest 加载它并注入网页
  2. 把它作为一个<script src="example.com/myscript.js"></script>并让它自己加载

但是,第二种方式可能无法访问我的扩展 API(对在扩展文件中定义的函数,即在 中chrome://myext/script.js

而且,第一种方法可能是不安全的,因为我必须评估一个gBrowser.contentWindow.wrappedJSObject对象中的代码,该对象是加载页面的 Window 对象

有任何想法吗?

0 投票
2 回答
1226 浏览

javascript - 开发一个非常简单的浏览器扩展

我正在寻找开发浏览器扩展。

安装此扩展程序后,将告诉浏览器在来自特定域列表的所有页面加载中包含一个 javascript 文件。

这种类型的扩展被 Google Chrome 称为“内容脚本”。

根据我的阅读,要为 Chrome 创建这种类型的扩展,您只需将此代码放在“清单”文件中

安装扩展后 jquery.js 和 myscripts.js 将包含在 google.com 的每个页面加载中

Chrome 采用的这种扩展开发方法似乎非常简单。

我的问题是为其他主要浏览器复制这种类型的扩展有多难?