Страницы: 1
Мне тоже нужно такое окно убрать из одного сайта, я думаю что это из-за того, что скрипты сайта задают событие window.onbeforeunload https://developer.mozilla.org/en/DOM/wi … foreunload.
Из расширения пытаюсь изменить это событие таким кодом:
[code]var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
.getService(Components.interfaces.nsIWindowMediator);
var browserEnumerator = wm.getEnumerator("navigator:browser");
// Check each browser instance for our URL
var found = false;
while (!found && browserEnumerator.hasMoreElements()) {
var browserWin = browserEnumerator.getNext();
var tabbrowser = browserWin.gBrowser;
// Check each tab of this browser instance
var numTabs = tabbrowser.browsers.length;
for (var index = 0; index < numTabs; index++) {
var currentBrowser = tabbrowser.getBrowserAtIndex(index);
if (url == currentBrowser.currentURI.spec) { // Нахожу сайт
Разрабатываю на FireFox (и JS) не так давно, всех инструментов не знаю.
консоли ошибок пишет только это:
Ошибка: ошибка синтаксиса
Источник: http://localhost:5080/tools/
Строка 1, символ 1
Исходный код:
ok
Веб-консоль тоже кроме Аякс-запроса ничего не показывает.
изменил код в соответствии с:
И то-же семое.
наверное код:
заменю на:
и будет так жить :)
06-12-2011 02:20:14
Нашёл глюк:
alertContents: function () { if (httpRequest.readyState === 4) { if (httpRequest.status === 200) { alert('AutomatBar_Ajax.alertContents - yes'); // alert показывает OnRecive('hhh'); // - работает // OnRecive(httpRequest.responseText); // - не работатет, почему?????? } } }
JS полон сюрпризов :)
06-12-2011 02:23:31
Вс
Скрипт реализует паузу в выполнении посредством AJAX-запроса. После паузы (выполнения Ajax-запроса) должна вызываться переданная функция "AutomatBar_Callback.CheckCompleate", но её вызвать у меня не хватает ума и/или опыта. Помогите если не сложно.
[code]
var AutomatBar_Ajax = {
httpRequest: null,
OnRecive: null,
Send: function (ActiveUrl, Message, OnReciveProc) {
OnRecive = OnReciveProc; // может здесь неправильное присвоение ?
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
httpRequest = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE
try {
httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
}
if (!httpRequest) {
alert('Giving up :( Cannot create an XMLHTTP ins
Расширение версии 0.0 находится здесь: http://dl.dropbox.com/u/14131025/testin … fs_old.xpi; версия 1.0 - на том же ресурсе. Расширение тестовое, и не содержит ничего, кроме настроек. Делалось все с помощью McCoy.
Да, с McCoy всё пашет.
Ну, и загляните вот сюда: https://developer.mozilla.org/en/Extens … patibility - мало ли, вдруг найдёте то, что упустили или забыли.
В таком формате и в таком https://developer.mozilla.org/en/install_manifests с ключами McCoy тоже всё работает.
Итог исследований обновления показал:
HTTP+Hash - не работает.
HTTPS+Hash - не работает.
HTTP+McCoy+Hash - работает.
ЗЫ: install.rdf должен иметь в em:updateURL HTTPS-ссылку или иметь ключи созаны McCoy, иначе расширение не ставиться (на Firefox 4.*).
…У меня тоже нихочет обновляться, самоподписаный сертификат на локальном сервере. mime-типы выставил. добавил сертификат в исключение.
Fiddler'ом перехватывал update.rdf'ы других расширений, и делал по их аналогии... Лиса-Алиса молчит как партизан и не обновляет, update.rdf загружает, но ошибок никаких не выдаёт. :angry: Может точно, что дело в HTTP-заголовках?
install.rdf:
[code]<?xml version="1.0" encoding="UTF-8"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
<em:id>aagent@mozilla.org</em:id>
<em:version>1.1</em:version>
<em:type>2</em:type>
<em:targetApplication>
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>3.0a1</em:minVersion>
<em:maxVersion>7.0a1</em:maxVersion>
</Description>
</em:targetApplication>
<em:name>AutoCrack Agent</em:name>
<em:bootstrap>false</em:bootstrap>
Страницы: 1