Вход

Просмотр полной версии : xpcom определить Content-Type


Gozar
16.01.2013, 21:30
Я знаю, что не перейдя по ссылке нельзя определить, что на другом конце, страница или картинка. Однако при начале загрузки FF получает header-s от сервера.

Как определить, что грузиться по ссылке? Если быть точнее мне нужен Content-Type. И как прервать загрузку, если мне не нужно то, что грузиться с сервера?

Можно просто ткнуть в раздел с документацией, если таковой имеется.

viktorina
16.01.2013, 21:55
Content-Type: image/png
http://www.spravkaweb.ru/php/pril/mime/
Проверить mime type и остановить.
HTTP/1.1 200 OK
Date: Wed, 16 Jan 2013 17:59:01 GMT
Cache-Control: private, max-age=300
Content-Type: text/html; charset=utf-8
Expires: Wed, 16 Jan 2013 18:04:01 GMT
Vary: Accept-Encoding
Content-Encoding: gzip

viktorina
16.01.2013, 22:16
Пишут, что нельзя:( отменить.

Gozar
16.01.2013, 22:20
Проверить mime type и остановить.
Это и есть вопрос. Для этого тема и создана. КЭП.

Но нужно же как-то получить Content-Type.
мне нужен Content-Type.
Знал бы как не создавал бы тему.

Не увидел сразу, ты так слитно пишешь.

viktorina
16.01.2013, 22:39
xpcom xul Components.interfaces(сижу с умным видом)
:)

Gozar
16.01.2013, 22:44
сижу с умным видом
Поэтому и не люблю задавать вопросы на форуме. Никто ничего не знает, только с умным видом сидят.

tenshi бы потыкать палочкой, да что-то не видать его давно... :'(

Deff
16.01.2013, 22:51
Gozar,
Остановить можно если подгружать из фрейма, просто удаляем документ,

Gozar
16.01.2013, 22:55
Deff,

Как определить, что грузиться по ссылке?
Какие ещё фреймы?! У меня FF extensions. Я создал вопрос в нужном разделе.

Кто не понял вопрос не пишите в теме.

tenshi
17.01.2013, 00:19
отменить в каком смысле? хочется чтобы вместо открытия в браузере файл передавался твоему расширению?

Gozar
17.01.2013, 00:25
хочется чтобы вместо открытия в браузере файл передавался твоему расширению?
Не обязательно, просто отменить загрузку. Если к примеру это jpg, то загружать не нужно.

http://asdfadf.ru/adfasd.sdfadf&asdf
Я не могу определить что это, файл или страница

Я так понимаю есть два вида загрузки по ссылке:
ajax
и
в tab

Я уже надыбал, что можно вешать listener на header, хотя еще не до конца понял.

tenshi
17.01.2013, 00:26
адблокер делаешь?)

tenshi
17.01.2013, 00:28
ну так что значит "не загружать"? оставить на той же странице? показать пустую? что ты вообще пытаешься этим добиться?

Gozar
17.01.2013, 00:32
"не загружать"?
Есть ссылка, мне нужно узнать что на другом конце.

У меня есть расширение которое по ссылке открывает страницу или картинку. Мне нужно знать, что если это картинка(pdf, doc, txt), то я делаю то-то(например ничего, то.есть отменяю загрузку картинки), если страница, открываю в браузере.

Gozar
17.01.2013, 00:35
Сейчас я делаю тупо - смотрю url и если там написано .jpg, то (выполняем код), если .doc (то выполняем другой код) и т.д., а хочется навести понядок, т.к. по http://asdf/asdfasdfasdfad невозможно определить что прилетит с сервера.

Gozar
17.01.2013, 00:36
Пользователю загружать например какое-нибудь кино на 700 метров, тоже не торт.

Deff
17.01.2013, 00:48
Gozar,
Не наю xpcom, делал предзапрос на серв со списком файлов, назад получал наличие, и объем(тут можно добавить и миме-тип) , затем ток качал

Gozar
17.01.2013, 00:53
затем ток качал
Да не надо мне качать, я и так умею это делать прекрасно. Мне нужно получить mime из заголовка пришедшего с сервера. Но так как это можно сделать только послав запрос на скачивание на сервер, то другого пути как либо получить и отменить, либо получить и принять я не знаю.

Gozar
17.01.2013, 00:55
Я так понимаю это можно сделать либо открыв новую вкладку(или загружать в текущую), либо послав ajax. Я пока не решил, как лучше.

Gozar
17.01.2013, 01:24
Эм, ну так понятно объяснил?

tenshi
17.01.2013, 01:28
я так понимаю тебе нужно просто послать HEAD запрос к серверу и всё

Gozar
17.01.2013, 01:29
я так понимаю тебе нужно просто послать HEAD запрос к серверу и всё
Угу, получить ответ и посмотреть Content-Type который он пришлет.

Deff
17.01.2013, 01:31
не наю, понятно ли я пояснил - для меня проще было сделать скрипт PHP, который принимает Аякс-запрос на список файлов и отвечает про их наличие; длину и вообще любое желаемое, а далее уже, после приёма ответа анализа - сам думаешь что там подгружать, а что- нет,
ксать у beard был вопрос обрыва закачки: http://javascript.ru/forum/ajax/34117-kak-oborvat-na-servere-i-kliente-zapros-esli-u-klienta-propala-set.html

Gozar
17.01.2013, 01:32
Deff,
Мене не нужен ПЕХЕПЕ, мене не нужен серевер. Мене нужен то, что я описал выше.

Gozar
17.01.2013, 13:21
tenshi,
Спасибо, совсем из головы вылетел HEAD. Вроде есть ещё вариант вешать "observer на заголовки" на addTab, но я наверное пока ограничусь этим вариантом.