2011-06-20 4 views
1

基本的に、私はSafariのRequestPolicyを探しています。 GlimmerBlocker、Privoxy、BFilterなど、これらはうまくいくが、どれも「サードパーティ要素のブロック」機能をサポートしていない。サードパーティの要素がSafariに読み込まれないようにするには?

私はGlimmerBlockerを使用し、機能を模倣するために、私は主にこのコードをスクリプトスクリプトのフラッドウェブサイトに入れます。

replace(/<(script|noscript|iframe)([\s\S]*?)<\/(script|noscript|iframe)>/img, "") 

しかし、私は各ウェブサイトのフィルタを作成するのがうんざりです。逆も同様です。 誰かがこれを解決するアイディアを持っていれば、それはすばらしいことでしょう。ありがとう。

答えて

5

私はこの概念実証Safari拡張を、外部リソース(画像、オブジェクト、およびスクリプトはブロックするが、スタイルシートリンクなどのリンク要素は許可しない)をブロックするようにしました。それは機能の最小限の数を持っていますが、あなたが興味を持っているなら、私はそれをさらに発展させるかもしれません。

リソースが第三者であるかどうかを確実に伝えることがわからないため、「外部」とは「第三者」ではありません。この拡張機能は、Webページとは異なるホストから来たすべてのリソースをブロックするだけです。その結果、デフォルトではあまりにも多くのリソースをブロックします。

ブロックされたイメージを右クリックし、コンテキストメニューコマンドを使用してイメージホストをホワイトリストに登録することができます。ブロックされた画像に指定された幅と高さが設定されていない場合、その画像は非表示になるため、右クリックすることはできません。

ホワイトリストコマンドは、ブロックされたプラグインオブジェクト(Flashオブジェクトなど)やスクリプトには表示されません。これを解決するには、空のイメージをボックスとして表示するコードを追加する必要があります。私はそれに対処するコードを追加する必要があります。

現在のサイト自体をホワイトリストに登録することもできます。つまり、すべての外部リソースがそのサイトで許可されます。この場合も、コンテキストメニューコマンドを使用して行います。

まだ、どちらのホワイトリストからもアイテムを削除する方法はありません。これは追加することができます。

Download the extension from here

あなたは、このコマンドを使用して拡張パッケージからソースファイルを抽出することができます。

xar -xf PartyPooper.safariextz 

あなたがソースと好き行うことが歓迎されています。

+1

これは素晴らしいことですが、あなたの仕事にはとても感謝しています。 外部リソースがダウンロードされるのを防ぐわけではないようですが、ローカルに表示されているのでしょうか? (ちなみに私はあなたの答えを投票するのに十分な評判がないのは残念です) – provdr

+1

あなたは知っています、私はそれについてはあまりよく分かりません。アップルの文書によると、拡張機能の技術を使ってリソースがブロックされると、リソースはロードされません。しかし、それはそれがダウンロードされていないことを意味するかどうかはわかりません。私はSafariの開発ツールを使ってそれをチェックしようとします。 – canisbos

+0

私は参照してください。アップルがそれを許可して実装することができれば、私も見ていくつもりだが、私はChromiumもFirefoxも使用しなくてすむ理由はない。これは素晴らしいことだ。 – provdr

関連する問題