Полезная информация

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

Разработка » Drag and Drop из Firefox на десктоп » 19-08-2010 03:25:11

Надо реализовать DND ссылки из Firefox в систему (проводник) таким образом, чтобы вместо брошенного ярлыка, в каталог скачивался файл, на который указывает ссылка.

Так цепляюсь на событие dragstart ссылок:

Выделить код

Код:

links.bind("dragstart", function(evt) {
    var link = $(this),
        href = link.attr("href"),
        name = link.text() + " (" + link.attr("version") + ")." + link.attr("ext");

    log("Start: " + name + " (" + href + ")");

    var domE = evt.originalEvent,
        trans = domE.dataTransfer;

    trans.mozSetDataAt("application/x-moz-file-promise-url", href, 0);
    trans.mozSetDataAt("application/x-moz-file-promise", new dragFileProvider(), 0, _CI.nsISupports);
    trans.mozSetDataAt("text/x-moz-url", href + "\n" + name, 0);
//    trans.mozSetDataAt("text/x-moz-url-data", href, 0);
//    trans.mozSetDataAt("text/x-moz-url-desc", name, 0);
    trans.setData('text/plain', name + " (" + href + ")");

    enumTypes(trans);
})

Вот флейвор дата провайдер:
[code]    v

Разработка » Обновление расширения Firefox: неопределенная ошибка [SOLVED] » 02-06-2010 13:36:17

banbot пишет

иногда надо развернуть дистрибутив с уже добавленными сертификатами

Спасибо за ценную информацию!
У нас, правда, не корпоративные пользователи, и самописный сертификат используется только для разработки.

Разработка » Обновление расширения Firefox: неопределенная ошибка [SOLVED] » 27-05-2010 20:39:56

banbot пишет

Ну вроде можно добавить свой самоподписанный сертификат в базу сертификатов Mozilla при помощи Certificate Database Tool.

А разве сертификаты туда не добавляются через диалог, когда нажимаешь Add Exception на странице "This Connection is Untrusted"?
Энивей, решено путём отказа от обновлений по https.

Разработка » Открыть диалог, модальный только для текущего окна? » 27-05-2010 20:03:29

Вопрос о работе с окнами в контексте chrome.

Возможно ли открыть диалог по урлу типа "chrome://eexxtt/content/about.xul", чтобы он был модальный только для окна текущей вкладки? То есть, чтобы при открытом диалоге адресная строка, тулбар и меню были доступны?

пробую так:

Выделить код

Код:

var url = "chrome://eexxtt/content/about.xul",
    features = "chrome, modal, centerscreen";

var ww = _CC["@mozilla.org/embedcomp/window-watcher;1"]
    .getService(_CI.nsIWindowWatcher);

var win = ww.openWindow(owner, url, "aboutecmext", features, null);

где owner = либо null, либо [xulwindow].content.window, либо defaultView от документа в текущей вкладке...
В любом случае, диалог модальный для всего главного окна Firefox. (window.openWindow() работает так же)

Может, это вообще невозможно?

Если что, это надо для показа диалога с индикацией прогресса выполнения операции, которую можно прервать. И эта операция не должна блокировать работу с браузером.
А ваять псевдо-диалоги с полупрозрачными о

Разработка » Отправить multipart/form-data при помощи XMLHttpRequest » 27-05-2010 15:31:09

Я как раз над аналогичной задачей на днях работал (отправка файлов вместе со значениями формы), может, следующие моменты окажутся полезными:
- Использую формат Unix: \n
- Из-за не решаемых нормально проблем с отслеживанием редиректов и прогресса отправки, отказался от XMLHttpRequest  в пользу nsIHttpChannel.
- Корректная обработка запроса в ASP.NET зависит от правильного заголовка Content-Length в POST запросе. Сервер не дожидается закрывающего boundary, если значение Content-Length меньше реального.

Кстати (этим досужим вопросом пока не занимался), можно ли компрессировать POST-данные, установив Content-Encoding: gzip?

Разработка » Обновление расширения Firefox: неопределенная ошибка [SOLVED] » 27-05-2010 15:17:22

Unghost пишет

Да, оно! Спасибо за исчерпывающий первоисточник!
Использовал хеш+https "для верочки" :)
На продакшн сервере сертификат правильный, там всё ОК, а на тестовом и dev машинах - self-signed, которые мозиллой режектятся.

Unghost пишет

Какой-то странный update.rdf

Его так переорганизовал МакКой.

Разработка » Обновление расширения Firefox: неопределенная ошибка [SOLVED] » 26-05-2010 23:25:41

Добрый день!

Мы создали расширение для нашего сайта. Оно устанавливается и работает нормально.
Однако расширение не может быть обновлено в Firefox (как в 3.5.7, так и в 3.6.3) - в диалоговом окне Add-ons появляется сообщение: "Произошла ошибка при попытке поиска обновлений..." и никаких сообщений в консоли ошибок.
Для того чтобы создать пакет обновления, я использую сценарий, описанный здесь (использование HTTPS, подписка RDF файлов с помощью McCoy, добавление хеша XPI файла в update.rdf).

Вот мой install.rdf (содержащийся в файле xpi):
[code]<?xml version="1.0"?>
<RDF:RDF xmlns:em="http://www.mozilla.org/2004/em-rdf#"
   xmlns:NC="http://home.netscape.com/NC-rdf#"
   xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <RDF:Description RDF:about="urn:mozilla:install-manifest"
   em:id="extension.id"
   em:type="2"
   em:version="1.7"
   em:name="company ECM Extension"
   em:descr

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]