クロスブラウザまたは、クロスブラウザ互換性(ーごかんせい、Cross-browser compatibility)は、特定のブラウザ機能が欠けている場合や不完全な場合でも、ユーザーに影響を与えずに動作し続ける能力のこと。
ウェブサイトやウェブアプリケーションがさまざまなブラウザで正常に動作することを目的としている。
歴史
背景 クロスブラウザの歴史は、1990年代後半に起きた「ブラウザ戦争」と初めてのスクリプト言語であるJavaScriptとJScriptの歴史から始まる。当時は、Netscape NavigatorとMicrosoft Internet Explorerの間で激しい競争が発生しており、前者は最も広く使用されていていた。一方で、MicrosoftはMosaicをライセンスしてInternet Explorer 1.0を作った。それから数年間にわたり、それら2つの新しいバージョンが多くリリースされた。これらのブラウザの開発は非常に速く進み、新機能の導入がバグ修正よりも優先されることが多く、結果として不安定なブラウザやウェブ標準の非準拠、頻繁なクラッシュ、多くのセキュリティホールが発生した。
W3Cの創設とウェブ標準化 W3Cは、1994年にオープンスタンダードを推進するために設立され、ECMAScriptというブラウザスクリプト言語の標準を開発した。最初のバージョンは1997年に公開され、JavaScriptとJScriptのその後のリリースでは、より高いクロスブラウザ互換性を実現するためにECMAScript標準が実装された。ECMAScriptの標準化後は、ドキュメントオブジェクトモデルの標準化に取り組み始めた。2005年までに、W3C DOMの大部分は、Microsoft Internet Explorer、Opera、Safari、およびGeckoベースのブラウザ(Firefox、SeaMonkey、Caminoなど)を含む一般的なECMAScript対応ブラウザで広くサポートされるようになった。
21世紀 21世紀になると、ブラウザスニッフィング(英語: Browser sniffing)のような方法はクロスブラウザのスクリプトには使えないとされた。これによって、ブラウザニッフィングや実行環境に関する無効な仮定に依存するアプリケーションは「マルチブラウザ」と言われるようになり、この時期に、「クロスブラウザ」は現在の意味で使われるようになった。
脚注