Вот еще несколько деталей: http://www.w3.org/TR/xbl-primer/#scripts То, что вы делаете, кажется, хорошо, вот пример, который они приводят:
<xbl xmlns="http://www.w3.org/ns/xbl">
<script src="example.js"/>
Примечание xmlns тамэто пространство имен по умолчанию.Если вы определили это как: xmlns: xbl = "http://www.w3.org/ns/xbl", тогда вам придется использовать
<xbl:script src="example.js" />
Попробуйте, я сам никогда не пробовал, но эта вещь с пространством имен - распространенная ошибка.
РЕДАКТИРОВАТЬ: Боюсь, что это может быть невозможно. Это из спецификации XBL 2.0, и Gecko, кажется, еще не поддерживает его, а в скрипте XBL 1.0 тег делаетне существует:
http://groups.google.com/group/mozilla.dev.tech.xbl/msg/d7d4f279ebdad65f?pli=1 Здесь упоминается, что разработка должна быть в полном разгаре.
Вот ссылка, на которую они указывают: https://wiki.mozilla.org/XBL2, нокажется, что он не обновлялся с 2009 года, трудно сказать, будет ли он вообще реализован.
А вот ссылка на XBL 1.0, где вы можете увидеть, что тег script не существует: https://developer.mozilla.org/en/XBL/XBL_1.0_Reference
Но чтобы предложить возможную альтернативу - вы могли бы использовать модули, и в конструкторе сделать что-то вроде этого:
<constructor>
Components.utils.import("resource://yourextension/config.js");
Для более подробной информации о модулях: https://developer.mozilla.org/en/JavaScript_code_modules и пример: https://developer.mozilla.org/en/JavaScript_code_modules/Using В основном вам нужно зарегистрировать папку с вашими модулямиВаш test.js в нем, следуйте инструкциям, как «экспортировать» функции / переменные из него.Затем вы можете импортировать его в любой файл JavaScript, XUL или XBL.