问题标签 [opera-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 投票
1 回答
1281 浏览

opera - 简单的 Opera 插件

如何编写一个简单的 Opera 插件?

我想开发一个插件,可以Referer根据请求的 url 数据更改请求的标头。

Opera 的网站说应该使用Netscape4 Plug-in API开发插件。但是,关于它的可用信息并不多。我查了一下c:/program files/opera/program/plugins,好像 Opera 的插件是.dlls。Opera 插件开发应该使用什么编程语言,你知道任何关于它的演练吗?

0 投票
2 回答
188 浏览

dom - 歌剧插件。DOM树修改

我想为歌剧创建一个插件,在页面加载后修改 DOM 树。Opera 有合适的插件 API 吗?

0 投票
3 回答
491 浏览

javascript - 无法获取 Opera 中某些站点的主页的文档对象

我们正在构建一个 Opera 扩展,在该扩展中我们尝试使用文档对象属性 (document.body.innerHTML) 来获取站点主页的来源。在大多数情况下,它为我们提供了正确的页面源,但对于某些站点(具有多个文档层的站点),它不会返回最顶层的文档。

例如,对于站点 (https://www.pcisecuritystandards.org/),我们希望为显示的主页提供源,但一旦加载了整个页面,文档属性将显示另一层的源 (https ://s7.addthis.com/static/r07/sh29.html#cb=0&ab=-&dh=www.pcisecuritystandards.org&dr=&du=https%3A%2F%2Fwww.pcisecuritystandards.org%2F&dt=Official%20PCI% 20Security%20Standards%20Council%20Site%20-%20Verify%20PCI%20Compliance%2C%20Download%20Data%20Security%20and%20Credit%20Card%20Security%20Standards&inst=1&lng=en&pc=men&pub=&ssl=1&sid=4d2ee1f94278e711b&srd= &srp=0.2&srx=0&ver=250&xck=0&rev=86981&xd=1)

这可能与 Opera 如何在页面中加载文档层有关。我们没有遇到任何其他浏览器的问题

我们如何使用 Opera 中的文档对象获取主页(https://www.pcisecuritystandards.org/)的来源?

0 投票
1 回答
263 浏览

google-chrome - Chrome/Opera 扩展说明

是否可以创建一个大型应用程序(如 10 页)作为扩展程序?如果我理解得很好,每个扩展只能有 1 个后台进程和 1 个页面,但我希望有经验的人的意见。

0 投票
2 回答
536 浏览

opera - Opera 扩展(小部件):动态配置文件

我有一个 Opera 11 扩展,它有一个后台进程和一个注入脚本。它们使用后台脚本的跨站点 XMLHttpRequest 功能与远程服务器(不是用户查看的网页)进行非常频繁的通信。

我希望服务器的 URL 成为首选项,以便用户可以在不编辑包的情况下对其进行修改。config.xml 文件会很好,因为它接受<preference name="serverUri" value="..." />. 但是,我希望脚本能够直接从服务器(而不是通过 Opera 的站点)更新自身,这可以使用<update-description href="http://myserver.com/client/update" />.

所以我想做的是让元素的href属性update-description依赖于偏好的值serverUri。我会想象一些这样的语法:

但我找不到对这种功能的任何引用。有没有办法解决这个问题?

0 投票
0 回答
587 浏览

css - Opera 中的 CSS 最小化模式:快速拨号扩展中的定位

我正在尝试在快速拨号框中显示滚动列表,但定位有问题

我想知道列表对象何时太大而无法容纳框,但据我所知,无法以像素为单位获取框的大小

如何获得最小化模式以准确显示在正常模式下看到的内容但适合盒子?

这是我现在使用的 CSS

如果我在选项卡中打开文件,它可以正常工作,但在快速拨号中它会放大显示

Opera 的指南使用这个查询:

我认为它控制了它在快速拨号中的显示方式。但我不知道在里面放什么

更新 好,我最终创建了一个元素并分配了一个底部值 0

像这样:

在 CSS 中:

然后每当我想检查或比较高度时,我都会使用 bottom.offsetHeight

0 投票
1 回答
273 浏览

coding-style - 歌剧扩展

简而言之:在注入的歌剧扩展脚本中获取 head 元素的最快方法是什么?(比等待 DOMContentLoaded 更快)

我在加载的页面中插入了一堆样式,而不是等待 DOMContentLoaded(因为用户希望在页面加载时看到呈现的 css,就像 usercss 一样)。

所以我只是获取头部元素(document.getElementsByTagName("head")[0] 或 document.head)并将样式元素插入其中;这适用于大多数网站,但我最近发现它不适用于维基百科,因为我无法在不等待 DOMContentLoaded 的情况下获取 head 元素。

PS:我知道 Opera 扩展是在任何其他脚本之前插入的,这是否意味着插入脚本时没有加载 head 元素?那么为什么它在某些网站上有效?

0 投票
1 回答
1212 浏览

javascript - Opera 扩展中的注入脚本

我正在尝试将我的 Chrome 扩展“移植”到 Opera。我的扩展程序什么也不做,只是稍微编辑了 DOM。在 Chrome 扩展中,我使用 contentscript,根据我的研究,Opera 的类似方法是注入脚本。无论如何,文档并没有真正告诉我应该如何使用注入的脚本。

我有 js 文件,includes/但似乎它没有自动包含。我还需要指定域来注入脚本。

目前我的文件有这个用于测试目的的内容:

任何帮助表示赞赏:)

0 投票
2 回答
259 浏览

javascript - 我如何在 Opera 扩展中“共享 cookie”?

我正在尝试为 Opera 编写我的第一个扩展。它的快速拨号扩展。我希望它向我显示来自网站的一些数据,但要访问这些数据,我需要登录。

我已经登录了,opera 知道 ;-) (当我在 Opera 的地址栏中输入网站地址时,一切正常。)我希望 Opera 告诉 JS,我已经登录了 ;-)

但是当我尝试在 js 中获取该网站时,我收到了一条文本,上面写着我需要登录:

我的 config.xml(那是教程中的一个;-),添加了访问源和功能 Opera:share-cookies:

我查看了wireshark的情况,我可以看出Opera发送了除JS之外的其他cookie,这就是JS说我没有登录的原因。但我希望JS发送与opera发送的相同的cookie,理论上它应该这样做,因为我添加了名为“opera:share-cookies”的功能,对吧?

我做错了什么?

0 投票
1 回答
137 浏览

javascript - Opera 存储和更新首选项

我在这里完全被难住了很长一段时间。谁能告诉我我做错了什么?我已经设置了几个带有 ID 的菜单,如下所示:

并使用像这样的javascript:

试图在单击 Opera 快速拨号 URL 时更改其目的地。但它不起作用。我有一种感觉,我必须在主 index.html 中添加一些 js,但我不太确定。