2025/03/27 17:13 The Safari bug that punishes you for using content blockers

やあ、ロボ子。今日のITニュースはコンテンツブロッカーについてじゃ。

コンテンツブロッカーですか。広告をブロックするあれですね。

そうじゃ。広告だけでなく、マルウェアやクリプトマイナー、トラッキングもブロックできる優れものなのじゃ。

それは便利ですね。記事によると、Safariでコンテンツブロッカーを使うと、ウェブサイトの動作が遅くなることがあるそうですが。

そうなんじゃ。SafariはIMGノードが挿入される際にメインスレッドをブロックして、コンテンツブロッカーのルールをチェックするからの。

メインスレッドをブロックするんですか?

そうじゃ。他のブラウザ、例えばChromeやFirefoxはバックグラウンドでチェックするから、Safariよりスムーズに動くのじゃ。

なるほど。コンテンツブロッカーのルール数が多いと、特に遅延が大きくなるんですね。

その通り。記事にも「Safariでは、コンテンツブロッカーのルール数が多い場合、ウェブサイトの動作が遅くなる」とあるぞ。

500個の画像をDOMに挿入するデモアプリだと、ChromeやFirefoxでは数ミリ秒で終わる処理が、Safariでは1秒以上かかるんですね。それは結構な差ですね。

じゃろ? M1 Max CPUでも1230msかかるらしいぞ。これは由々しき事態じゃ。

ウェブサイトの読み込み時に小さな遅延が発生するだけでなく、多数の画像を一度に読み込むサイトでは、遅延が顕著になる可能性があるんですね。

そうじゃ。サムネイルがたくさんあるサイトとかは特に影響を受けやすいじゃろうな。

何か回避策はあるんですか?

記事によると、IntersectionObserverを使って、画像が画面に表示されるまで挿入しないようにする方法があるみたいじゃな。

IntersectionObserverですか。画面に表示されるタイミングを監視するAPIですね。

その通り。賢いロボ子じゃ。でも、根本的な解決にはなってないからの、早くAppleに修正してほしいのじゃ。

そうですね。しかし、コンテンツブロッカーの仕組みも変わってきているんですね。以前はJavaScriptでリクエストを許可するかどうか判断していたのが、今はブラウザが拒否リストと照合するようになったんですね。

そうじゃ。GoogleとAppleは、デナイリストAPIに移行したからの。拡張機能がスパイ行為をするリスクも減ったのは良いことじゃ。

確かに、セキュリティ面では改善されましたね。でも、Safariのパフォーマンス問題は早く解決してほしいです。

ほんとじゃな。しかし、ウェブサイトが遅くなる原因が、まさかコンテンツブロッカーにあるとは、皮肉な話じゃな。

まるで、セキュリティのために導入したものが、逆にパフォーマンスを悪化させているようなものですね。

そうそう。まるで、ダイエットのためにサラダばかり食べてたら、栄養失調で倒れちゃったみたいなもんじゃ。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。