1

Cookie を設定するためのドメインをホワイトリストに登録する、OS X の Safari 用の単純な拡張機能を作成しようとしています。ドキュメントは、これが「block-cookies」アクション タイプで可能であることを示しています。しかし、私がそれを使用しようとすると、何もしません。私はここでテストしていますが、使用するルールの種類や、URL トリガーがどれほど広範または具体的であっても、サイトは Cookie を設定できます。

拡張機能がロードされ、機能しています。アクションを別のものに変更すると、機能します。

これを行うと、「トップバー」の div が非表示になります。

[{"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"}}]

無効なものに変更すると、「JSON コンパイルに失敗しました」というエラーが表示されるため、Safari は少なくともブロック Cookie ルールを受け入れている必要があります。このような:

[{"trigger": {"url-filter": ".*whatarecookies.com.*"},"action": {"type": "blockcookies"}}]

「ブロック Cookie」アクションを正しく使用していませんか? それともバグですか?

4

1 に答える 1

0

私はこれを再訪し、問題が何であるかを突き止めました: Safari の「ブロック Cookie」アクションは Cookie をブロックしますが、HTTP ヘッダーを介して設定されたもののみをブロックします。私がテストしていたサイトは、JavaScript を介して Cookie を設定しますが、コンテンツ ブロッキングでは何もできません。

コンテンツのブロックにも「スクリプト」フィルターがありますが、「ブロック Cookie」アクションと同様に、非常に制限されています。テスト サイトはインライン スクリプトを使用して Cookie を設定するため、「スクリプト」フィルタを有効にしてもブロックされません。

于 2016-05-15T12:22:03.687 に答える