Я разрабатываю собственный плагин для Firefox. Для одной из функций в этом плагине у меня есть кнопка, которая при нажатии должна переключать скрытие / отображение для другого элемента div. Это достигается с помощью функции Javascript. Сама функция находится в файле, который также упакован в плагин.
Поскольку элементы div находятся на странице браузера, я пытаюсь загрузить Javascript для этой функции в ГОЛОВКУ страницы, используя ее URL-адрес chrome. Однако это не дает желаемого результата.
Ниже приведены фрагменты соответствующего кода:
Фактический Javascript, который выполняет действие переключения. URL-адрес Chrome для этого: chrome://firefox_extension/content/togglerowz.js
Если я добавлю этот URL-адрес в браузер, он сможет отобразить приведенный ниже код.
function toggle(doc) {
var resultBlock = doc.getElementById("RowzFFExtensionDynamicContainer");
var toggleButton = doc.getElementById("RowzFFToggle");
if (resultBlock.style.display == "block") {
resultBlock.style.display = "none";
toggleButton.value = "Maximize";
} else {
resultBlock.style.display = "block";
toggleButton.value = "Minimize";
}
}
Еще один Javascript, который загружает это в заголовок браузера. Это вызвано событием загрузки окна.
var doc = aEvent.originalTarget;
var togglerowzscript = doc.createElement("script");
togglerowzscript.type = "application/javascript";
togglerowzscript.src = "chrome://firefox_extension/content/togglerowz.js";
var headvar = doc.getElementsByTagName("head")[0];
headvar.appendChild(togglerowzscript);
Когда страница загружается, в элементе HEAD страницы (как показано в Firebug) содержится следующее содержимое:
<script type="application/javascript" src="chrome://firefox_extension/content/togglerowz.js">
Filtered chrome url chrome://firefox_extension/content/togglerowz.js
</script>
Когда я нажимаю кнопку, консоль ошибок сообщает, что переключение не определено.