広告ブロッカーが原因でAjax通信に失敗する

Tags: reading webdev

Hacker News経由で読んだ記事。Ajax通信にて謎のエラーが発生し、あれこれ調査した結果、広告ブロッカー(uBlock)がAjaxの通信先のURLに含まれている文字列に反応して、その通信をブロックしていたのが原因だったというお話。確かにこれは気づきにくそう。

Hacker Newsのコメントにて、uBlockのソース上で実際にXMLHttpRequest.open()をoverrideしている箇所の情報が出ているけど(https://github.com/chrisaljoudi/uBlock/blob/master/platform/safari/vapi-client.js#L278)、えーこんなところまで上書きしてくるのかー、という感想。このソースはSafari向けの処理なので、実際に影響を及ぼしていたのがここなのかは分からないけど……。

この記事のケースで使っていた広告ブロッカーはuBlockだったけど、たぶんこれ、他の広告ブロック系の拡張機能でも似たような感じなんでしょうな。似たような事例に出くわしたときのために、頭の片隅に置いておきたい。