4

我开发了一个 Opera 扩展。它工作正常。但我需要在 Windows 注册表或 Windows 文件系统中安装我的扩展。我该怎么做?

4

1 回答 1

6

注意:这个问题与 Opera 12 相关
Opera 12 使用了不同于以下 Opera 版本的扩展架构!

Opera 扩展不是通过注册表安装的。

您将在文件夹中找到一个名为 XML 的widget.dat文件:

C:\Users\%Username%\AppData\Local\Opera\Opera\widgets

每个小部件都有一个条目。我想你会自己理解语法,如果你安装了一些小部件,它是不言自明的。


编辑:我刚刚发现添加一个新条目widget.dat会将扩展安装到 Opera,但由于尚未初始化,它将被停用。这通常在运行时通过 javascript/扩展引擎发生。

prefs.dat要手动启用脚本,widget.dat 中注明的文件夹中必须有一个wuid-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,至少包含以下结构:

<?xml version="1.0" encoding="utf-8"?>
<preferences>
  <section id="ui">
    <value id="default-prefs-applied" xml:space="preserve">1</value>
  </section>
</preferences>

除此之外,您可能必须手动初始化pstorage文件夹中的小部件设置。这些设置存储为 base64 编码的 utf-16 键值对字符串。所以,这个编码结构:

<ws>
  <e>
    <k>YQBsAGUAcgB0AF8AYgB1AGIAYgBsAGUAXwB0AGkAbQBlAG8AdQB0AA==</k>
    <v>IgAxADUAIgA=</v>
  </e>
<ws>

读作:

<widgetsettings>
  <entry>
    <key>alert_bubble_timeout</key>
    <value>"15"</value>
  </entry>
<widgetsettings>

(标签名称可以自由解释;)我在这里找到了一个能够处理 utf-16 的 base64 en/decoder


PS:Opera 会通过双击来安装小部件。因此,您也可以在命令行上使用扩展路径执行 Opera。届时,Opera 将为您做所有事情。

C:\Program Files\Opera\opera.exe C:\Path\To\Extension.oex
于 2012-09-10T09:18:37.470 回答