Написал давным-давно расширение (не кнопку). В папке расширения есть заранее готовый для простоты HTML-файл и заранее готовый JS-файл для сортировки таблицы. Открываю этот файл с таблицей, она наполняется данными и сортируется.  Единственный минус — сложность редактирования, хочу уйти от расширения в сторону кнопки CB, где редактировать намного проще.

Вопрос: как с помощью кнопки открыть локальный HTML-файл, к которому будет привязан локальный JS-файл? Желательно на примере, где простейший код и простейший  отдельный скрипт с алертом. Спасибо за помощь.

p.s. И попутно вопрос, чтобы не забивать тему постами — я правильно понимаю, что сейчас после каждой редакции кнопки нужно переоткрыть браузер, чтобы изменения вступили в силу? Рестартлесс никак нельзя организовать?

okkamas_knife пишет
zeroatmozilla пишет

я правильно понимаю, что сейчас после каждой редакции кнопки нужно переоткрыть браузер, чтобы изменения вступили в силу? Рестартлесс никак нельзя организовать?

это зависит от кода кнопки, есть некоторые специфические где нужен рестарт а так для большинства кнопок это не нужно.
насчёт основного вопроса не совсем понятно что именно вы хотите
вам нужно открывать файл с выбором или просто открывать файл по заранее указанному пути?
для первого случая

Выделить код

Код:

if(getBrowser().currentURI.spec == "about:blank") BrowserOpenFileWindow();
     else{ BrowserOpenTab();BrowserOpenFileWindow();};

для второго смотрите прикреплённую тему Инструменты для создателе СВ - там есть куча примеров.

Спасибо за ответ. Я посмотрел, но что-то не нашёл. Что касается расширения, то в папке Content расширения у меня два файла table.html и sort.js, для простоты это так выглядит:

Выделить код

Код:

<html>
    <body>
        <script src="sort.js" type="text/javascript">
    </body>
</html>

То есть мне нужно вместо расширения из кнопки открыть table.html, который загрузит sort.js. Проблема в том, что javascript чужой и очень большой, нужно именно файлом его подцепить, не трогая.

okkamas_knife пишет
zeroatmozilla пишет

Я посмотрел, но что-то не нашёл

варианты открытия адреса.
я вообще не понимаю в чём проблема - положил хтмл и скрипт в одну папку и указал в кнопке открыть хтмл файл хоть в  текущей хоть в новой вкладке.
адрес можешь посмотреть просто открыв тот файл в браузере.
если нужно чтоб те файлы были в профиле тоже не проблема - пример получения адреса профиля там есть делов то добавить к нему папку и имя файла.

Чёрт побери, искал чёрную кошку. Не думал, что так элементарно всё. Спс.

06-12-2014 14:14:34
Хотя нет. Не всё так просто. HTML-файл в расширении делает запросы к сайтам. Если просто открыть его по адресу file:///P:/test/test.html, то само собой сразу запрет запросов. То есть в лоб задачу переноса расширения на кнопку не выполнить. Придётся скелет HTML-файла полностью делать через скрипт внутри кнопки, создавать gBrowser.addTab('about:blank') и в ней строить весб HTML, который в файле.