pro*_*aff 4 opera opera-extension
我开发了Opera扩展.它工作正常.但我需要在Windows注册表或Windows文件系统中安装我的扩展.我怎么能这样做?
注意:这个问题与OPERA 12相关
Opera 12使用的是另一种扩展架构,而不是以下Opera版本!
Opera扩展不是通过注册表安装的.
您将widget.dat在文件夹中找到一个XML 文件:
C:\Users\%Username%\AppData\Local\Opera\Opera\widgets
Run Code Online (Sandbox Code Playgroud)
每个小部件都有一个条目.我想你会自己理解语法,如果你安装了一些小部件,那就很自我解释了.
widget.dat将安装扩展到Opera,但它将被取消激活,因为它尚未初始化.这通常在运行时通过javascript/extension引擎发生.
要手动启用脚本,widget.dat中注明prefs.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>
Run Code Online (Sandbox Code Playgroud)
除此之外,您可能必须手动初始化pstorage文件夹中的窗口小部件设置.设置存储为base64编码的utf-16键值对字符串.所以,这个编码结构:
<ws>
<e>
<k>YQBsAGUAcgB0AF8AYgB1AGIAYgBsAGUAXwB0AGkAbQBlAG8AdQB0AA==</k>
<v>IgAxADUAIgA=</v>
</e>
<ws>
Run Code Online (Sandbox Code Playgroud)
读作:
<widgetsettings>
<entry>
<key>alert_bubble_timeout</key>
<value>"15"</value>
</entry>
<widgetsettings>
Run Code Online (Sandbox Code Playgroud)
(标签名称可以自由解释;)我找到了一个能够在这里处理utf-16的base64 en/decoder
C:\Program Files\Opera\opera.exe C:\Path\To\Extension.oex
Run Code Online (Sandbox Code Playgroud)