Правило блокировки содержимого 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 с помощью встроенного сценария, включение фильтра "сценария" по-прежнему не блокирует его.

Другие вопросы по тегам