私の知る限り、Javascriptを使用している理由に関係なく、Javascriptを使用して読み込みステータスを抑制する方法はありません。
ただし、クロスドメインCOMETには、そもそも読み込みステータスをトリガーしない代替手段が少なくとも1つあります。XMLHttpRequestは読み込みステータスを設定しません。私のテストによると、クロスドメインXHRを許可するCORS(Cross-Origin Resource Sharing)仕様はかなりよくサポートされています。
基本的に、サポートは次のとおりです:(ブラウザのドキュメントと私が取り組んでいるプロジェクトの私自身のテストの組み合わせによると)
完全なサポート:
- Gecko 1.9.1+(Firefox 3.5、SeaMonkey2.0など。テスト済みのFirefox3.6.8およびSeaMonkey2.0.7)
- WebKit(Safari 4以降、Chrome3以降など。OSX上のSafari4、WinXP上のSafari 5、Chrome 5.0.375.127(安定したチャネル)、Midori 0.2.7、新しいFlock、Epiphany 2.30.2、luakitでの動作をテスト済み、およびuzbl)
テストされていませんが、完全にサポートされている必要があります。
限定サポート:
- Internet Explorer 8(Microsoftは代わりにXDomainRequest()オブジェクトを実装し、セキュリティを言い訳として使用して、要求で資格情報とCookieを渡すためのフラグを実装しませんでした)
- Sleipnir(サポートは、埋め込まれているMSHTMLのバージョンによって決まります)
特にサポートされていません:
- Opera(11.01.1190現在、サポートなし)
- Camino(2.0.5以降、Gecko 1.9.0(Firefox 3.0)に基づく)
- Arora(0.10.2以降、WebKitのCORS APIを継承しますが、リクエストが失敗するバグがあります)
- 古いMozillaベースのFlock(Gecko 1.9.0(Firefox 3.0)に基づく)
これは完全なリストではありませんが、テストするために見つけたuserscriptサポートを備えたすべてのブラウザーです。必要に応じて、 CORSウィキペディアのページで自分の情報源を引用するのに時間をかけました。
私が考えることができる最も簡単な解決策は、CORSをテストしてからJSONPにフォールバックすることです。これにより、最新のブラウザーを使用している人は完璧なエクスペリエンスを得ることができ、古いものを使用している人は読み込みステータスを避けられない副作用と見なすことができます。
CORSの仕組みに関するMDCページは次のとおりです。