Javascript-форум (https://javascript.ru/forum/)
-   Firefox/Mozilla (https://javascript.ru/forum/css-html-firefox-mizilla/)
-   -   xpcom определить Content-Type (https://javascript.ru/forum/css-html-firefox-mizilla/34731-xpcom-opredelit-content-type.html)

Gozar 16.01.2013 21:30

xpcom определить Content-Type
 
Я знаю, что не перейдя по ссылке нельзя определить, что на другом конце, страница или картинка. Однако при начале загрузки 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

Цитата:

Сообщение от viktorina
Проверить mime type и остановить.

Это и есть вопрос. Для этого тема и создана. КЭП.

Но нужно же как-то получить Content-Type.
Цитата:

Сообщение от Gozar
мне нужен Content-Type.

Знал бы как не создавал бы тему.

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

viktorina 16.01.2013 22:39

xpcom xul Components.interfaces(сижу с умным видом)
:)

Gozar 16.01.2013 22:44

Цитата:

Сообщение от viktorina
сижу с умным видом

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

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

Deff 16.01.2013 22:51

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

Gozar 16.01.2013 22:55

Deff,
Цитата:

Сообщение от Gozar
Как определить, что грузиться по ссылке?

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

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

tenshi 17.01.2013 00:19

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

Gozar 17.01.2013 00:25

Цитата:

Сообщение от tenshi
хочется чтобы вместо открытия в браузере файл передавался твоему расширению?

Не обязательно, просто отменить загрузку. Если к примеру это 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

Цитата:

Сообщение от tenshi
"не загружать"?

Есть ссылка, мне нужно узнать что на другом конце.

У меня есть расширение которое по ссылке открывает страницу или картинку. Мне нужно знать, что если это картинка(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

Цитата:

Сообщение от Deff
затем ток качал

Да не надо мне качать, я и так умею это делать прекрасно. Мне нужно получить 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

Цитата:

Сообщение от tenshi (Сообщение 227701)
я так понимаю тебе нужно просто послать HEAD запрос к серверу и всё

Угу, получить ответ и посмотреть Content-Type который он пришлет.

Deff 17.01.2013 01:31

не наю, понятно ли я пояснил - для меня проще было сделать скрипт PHP, который принимает Аякс-запрос на список файлов и отвечает про их наличие; длину и вообще любое желаемое, а далее уже, после приёма ответа анализа - сам думаешь что там подгружать, а что- нет,
ксать у beard был вопрос обрыва закачки: http://javascript.ru/forum/ajax/3411...opala-set.html

Gozar 17.01.2013 01:32

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

Gozar 17.01.2013 13:21

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


Часовой пояс GMT +3, время: 13:34.