我开发了一个 Opera 扩展。它工作正常。但我需要在 Windows 注册表或 Windows 文件系统中安装我的扩展。我该怎么做?
问问题
2812 次
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 回答