Firefox addon 在XUL中使用首选项

Firefox addon 在XUL中使用首选项,firefox-addon,xul,preferences,Firefox Addon,Xul,Preferences,我试图弄清楚如何在XUL文件中使用首选项(您可以通过转到about:config来访问这些首选项)。我会让几个开发人员来做这件事,我们都配置了不同的“本地”主机。因此,我希望通过使下面的“example.local”部分来自一个首选项设置(字符串),使事情对每个人都更容易。这样,我可以使用example.com作为默认值,每个开发人员只需将其编辑为其hosts文件设置为的任何内容 <?xml version="1.0" encoding="UTF-8"?> <overlay i

我试图弄清楚如何在XUL文件中使用首选项(您可以通过转到about:config来访问这些首选项)。我会让几个开发人员来做这件事,我们都配置了不同的“本地”主机。因此,我希望通过使下面的“example.local”部分来自一个首选项设置(字符串),使事情对每个人都更容易。这样,我可以使用example.com作为默认值,每个开发人员只需将其编辑为其hosts文件设置为的任何内容

<?xml version="1.0" encoding="UTF-8"?>
<overlay id="my-overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
    <script src="http://example.local/some/script.js"/>
</overlay>

我知道如何设置默认值以及如何从javascript访问它,但上面这个特定的xul是加载javascript的xul,我需要从服务器加载它

非常感谢你的帮助


Luis

您需要使用所需的默认值创建一个prefs.js文件

然后,如果首选项是存储为mybranch.mybooleanpreference的布尔值,则可以使用如下方式引用首选项:

var prefs = Components.classes["@mozilla.org/preferences-service;1"]
                    .getService(Components.interfaces.nsIPrefService).getBranch("mybranch.");

var value = prefs.getBoolPref("mybooleanpreference"); 

请参见,或

听起来您想做这样的事情:

在XUL文件中添加:

<body onload="return myFunc();">
确保也为javascript文件添加脚本include,如:

<script src="chrome://myextension/content/myjavascript.js

谢谢!这有助于设置默认首选项,但如何在XUL中使用该值?这种效果会让我做一些类似的事情:再次感谢!那就是。。。其中[[value from preference]]是首选项中设置的值。I“我添加了更多的文档和一个在Javascript中获取偏好值的示例。这非常有效。我可以读取默认设置的首选项。但是你知道如何在XUL中使用这种偏好吗?我希望开发人员能够更改首选项,以便可以通过它更改上面的example.com。谢谢。你需要在JavaScript中引用它。我认为没有Javascript,您无法直接从XUL访问它。我想您可以在onload事件中设置该元素的src,这可能会实现您想要的。
<script src="chrome://myextension/content/myjavascript.js