0xd34df00d
20.09.2012 17:03 Azoth_primary
Чят, у FF'ского AdBlock+ есть возможность указывать применимость правил только к отдельным типам контента — вроде картинок, стилей и т. п. Хотелось бы эти вещи поддерживать.
Проблема в том, что в момент HTTP-запроса, когда его еще можно отменить, тип данных, к которым происходит запрос, неизвестен. Что делать?
1. Класть хуй на указание типа и применять правило ко всем запросам вообще?
2. Всегда разрешать такие запросы, но там, где это применимо, потом проходиться по странице и скрывать соответствующие элементы (<img/> для картинок, например)?
второе.
Слишком разрешающий фильтр будет, да и те же css'ы и скрипты после загрузки не скроешь.
3. Сделать оба варианта, причём по умолчанию оставить второй. А первый включить тем, кто любит экономить трафик.
наиболее Ъ — дропать подключение после получения заголовков ответа
И с каких пор сервер обязан выдавать тип в заголовках? Олсо, жрат проц, и динамический такой ответ на свой, 401-ый, не подменишь.
Со вторым проблема /1.
ну не то чтобы обязан... Но обычно Content-Type таки присутствует и именно по нему определяется тип содержимого. Олсо, ты же можешь узнать предполагаемый тип ещё до запроса (хотя, наверное, для этого надо допиливать webkit, кекеке), загрузка-то инициируется разными html-тегами.
[21:07:55] uıʃɐɟ∀: А как это делается в фф?
[21:09:55] 0xd34df00d: А хер его знает.
[21:09:57] 0xd34df00d: У них там геко.
[21:11:21] 0xd34df00d: Вполне возможно, что там рядом с запросом идет инфа типа «я запросил это потому, что наткнулся на <img/>».
У нас этого нет.
вебкитопроблемы.
Да :(
чини, чо.
Это будет через полгода минимум, а мне вебкит бы уже сегодня для 4.8 починить.
скажи что для твоих личкрафтов нужен особенный вебкит, делов-то
Пизда.
По HTTP-хедеру смотреть можно?
Слишком поздно.
А нам норм. Либо смотри, откуда вообще идет запрос. Из какого тега, лул. Ну там выше всё сказали.
А я выше сказал, что этой инфы нету уже. ВЕБКИТИЩЕ ЕБАНОЕ.
Эта инфа есть в DOM. Патчить его — нет пути?
Не факт. Через JS можно у img поменять src вполне же.