Правило блокировки содержимого Safari OS X "block-cookies"
Я пытаюсь создать простое расширение для Safari в OS X, которое заносит в белый список домены для установки файлов cookie. В документации указано, что это возможно с типом действия "block-cookies". Однако когда я пытаюсь его использовать, он ничего не делает. Я тестирую здесь, и сайт может устанавливать cookie-файлы независимо от того, какое правило я использую, насколько широк или конкретен мой URL-триггер.
Расширение загружено и работает. Если я изменю действие на что-то другое, это сработает.
Когда я делаю это, div "topbar" скрывается:
[{"trigger": {"url-filter": ".*whatarecookies.com.*"},"action": {"type": "css-display-none","selector": "#topbar"}}]
Когда я делаю это, вся страница не загружается:
[{"trigger": {"url-filter": ".*whatarecookies.com.*"},"action": {"type": "block"}}]
Когда я делаю это, ничто не блокируется:
[{"trigger": {"url-filter": ".*whatarecookies.com.*"},"action": {"type": "block-cookies"}}]
Safari должен, по крайней мере, принять мое правило блокирующих файлов cookie, потому что, если я изменю его на что-то недопустимое, он выдаст мне ошибку, которая "Сбой компиляции JSON". Как это:
[{"trigger": {"url-filter": ".*whatarecookies.com.*"},"action": {"type": "blockcookies"}}]
Я правильно не использую действие "block-cookies"? Или это прослушивается?
1 ответ
Я вернулся к этому и выяснил, в чем была проблема: действие Safari "блокировать файлы cookie" блокирует файлы cookie, но только те, которые установлены через заголовки HTTP. Сайт, на котором я тестировал, устанавливает свои куки-файлы через javascript, с которым блокировка контента ничего не может поделать.
Блокировка контента также имеет фильтр "скрипт", но, как и действие "блок-куки", он крайне ограничен. Так как тестовый сайт устанавливает свой cookie с помощью встроенного сценария, включение фильтра "сценария" по-прежнему не блокирует его.