2014-01-16 2 views
1

У Old Opera 12 был простой вариант для создания собственного расширения для рекламных блоков: http://dev.opera.com/articles/view/extensions-api-urlfilter/есть API-фильтр URL-адресов в расширениях chrome?

Мой вопрос: Есть ли аналогичные вещи в формате расширения Chrome Chrome? (также это должно относиться к новым сериям опер)

(Это также вопрос о том, как сделаны различные блокировки для хром. Я имею в виду, что эти расширения фактически блокируют трафик до отправки браузером запроса? Доступна ли эта емкость в хромовых расширениях ?)

+0

Непонятно, что * связанный с программированием вопрос * вы спрашиваете здесь. –

+0

Этот вопрос касается возможности расширения chrome api. Может ли он блокировать контент до его получения с сервера. – rsk82

+0

Я очень сомневаюсь. Как он может блокировать то, что он не видит? (если в нем нет черного списка URL-адреса или что-то в этом роде) –

ответ

4

Есть два API, которые могут быть использованы для блокирования веб-контента:

  1. chrome.webRequest API.
  2. chrome.declarativeWebRequest API.

В настоящее время declarativeWebRequest доступен только на канале dev, но я ожидаю, что он станет доступен на стабильном канале в течение нескольких выпусков. Хотя можно блокировать запросы с использованием API webRequest, я рекомендую использовать декларативный, потому что он более эффективен двумя способами: он позволяет использовать event pages вместо background pages, и фильтры полностью реализованы в собственном коде.

Формат фильтров URL-адресов декларативного API веб-поиска очень выразителен, его формат можно найти по адресу https://developer.chrome.com/extensions/events.html#type-UrlFilter.

Формат фильтра URL-адреса в декларативном API-интерфейсе WebRequest соответствует формату match pattern (аналогично фильтру URL-адреса Opera).

Я опубликовал простой пример обоих API в Block URL with a specific word somewhere in the subdomain. Не забудьте указать declare the right permissions в файле манифеста. Либо "declarativeWebRequest", либо "webRequest", "webRequestBlocking". Чтобы заблокировать URL-адрес с помощью API webRequest, вы также должны запросить разрешения на доступ к URL-адресам, которые вы хотите заблокировать в файле манифеста.

Смежные вопросы