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

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

Разработка » отследить загрузку файла » 13-12-2008 15:26:03

При попытке прочитать файл с помощью getFileSource выдает ошибку:

Выделить код

Код:

Ошибка: uncaught exception: [Exception... "Component returned failure code: 0x80520015 
(NS_ERROR_FILE_ACCESS_DENIED) [nsIBinaryInputStream.readBytes]"  nsresult: 
"0x80520015 (NS_ERROR_FILE_ACCESS_DENIED)"  location: 
"JS frame :: chrome://myext/content/myext.js :: anonymous :: line 417"  data: no]
Выделить код

Код:

417. var data = bis.readBytes(file.fileSize);

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

Разработка » отследить загрузку файла » 12-12-2008 21:33:27

Пусть listener по окончании загрузки вызывает getFileSource.

Да, но для этого надо как-то перехватить возвращаемый downloadFile() объект сохраненного файла.

Разработка » отследить загрузку файла » 12-12-2008 19:01:17

Ммм, хорошо. Допустим, я повешу на wbp слушателя. Но как сделать, чтобы дальший код в main не выполнялся, пока файл не загрузится?

Разработка » отследить загрузку файла » 12-12-2008 16:05:54

Суть такая: я скачаваю с удаленного сервера несколько файлов и сохраняю их во временной папке. Затем, мне нужно прочитать эти файлы и получить их содержимое для последующей обработки.

Проблема в том, что при выполнении метода main, файл не успевает сохраниться к моменту, когда его пытается прочитать функция getFileSource().

Можно ли, как-то, приостановить выполнение дальнейших конструкций, пока файл не будет полностью получен и сохранен?

Вот примерный скрипт:
[code]var obj = {

    main : function () {
        var url1 = 'http://site.ru/image1.jpg';
        var url2 = 'http://site.ru/image2.jpg';
        var result = true;
       
        var file1 = null;
        if (url1) {               
            file1 = this.downloadFile(url1, 'image1.jpg');
        }
       
        var file2 = null;
        if (url2) {               
            file2 = this.downloadFile(url2, 'image2.jpg');
        }
       
        if (result) {
            var fileData = '';
            var fileName

Разработка » Событие изменения cookie » 08-12-2008 00:26:04

Увы, нет. Каждая ссылка повешена кнопку тулбара. И от авторизации будет зависеть, активна кнопка или нет.
При загрузке браузера, куки проверяются при событии onload интерфейса. А вот дальше, нужно, либо отслеживать изменение кук, либо изменение открываемых страниц.
Первый вариант мне нравится больше, но вот не знаю как реализовать. А во-втором, не могу грамотно повесить обработчик события на contentWindow.
Так не работает:

Выделить код

Код:

getBrowser().contentWindow.addEventListener("load", function() { my_ext.init(); }, false);

Update: сделал так:

Выделить код

Код:

getBrowser().addEventListener('DOMContentLoaded', function() { my_ext.init(); }, false);

Разработка » Событие изменения cookie » 07-12-2008 12:52:33

Делаю тулбал для одного форума, нужно отслеживать авторизацию пользователя для генерирования индивидуальных ссылок. Имхо, идеальный вариант, отслеживать изменение куков в браузере. Есть ли такое событие?

Board footer

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