При JavaScript_программировании на стороне клиента всегда приходилось стал_ киваться с проблемой несовместимости. Знание истории даст вам понимание происходящего, что, безусловно, пригодится в работе. Ранние дни веб_програм_ мирования были отмечены так называемой «войной броузеров» между Netscape и Microsoft. Это был период бурного развития броузеров и API_интерфейсов кли_ ентского JavaScript, часто в несовместимых направлениях. Проблемы несовмес_ тимости в этот период проявлялись наиболее остро, и некоторые сайты для их преодоления просто сообщали своим посетителям, какой броузер они должны использовать.
Война броузеров завершилась, когда корпорация Microsoft заняла доминирую_ щее положение на рынке, а веб_стандарты, такие как CSS и DOM, стали приобре_ тать все большее влияние. В период стабильности (или застоя), продолжавший_ ся, пока броузер Netscape медленно трансформировался в Firefox, Microsoft вне_ сла в свой броузер несколько улучшений. Поддержка стандартов в обоих броузе_ рах достигла высокого уровня или, по крайней мере, достаточного, чтобы обеспечивать совместимость будущим веб_приложениям.
К моменту написания этих строк мы, похоже, становимся свидетелями нового взрыва нововведений в броузерах. Например, все основные броузеры ныне под_ держивают возможность отправки HTTP_запросов, что составляет основу новой архитектуры веб_приложений под названием Ajax (подробности см. в главе 20). Корпорация Microsoft ведет работы над созданием версии 7 своего броузера Internet Explorer, в которой должны быть решены многие проблемы безопасно_ сти и совместимости с CSS. В IE 7 обычный пользователь найдет множество из_ менений, но очевидно, что в этом броузере не будет нарушено никаких новых стандартов, составляющих основу веб_разработки. Однако в других броузерах такие нарушения уже наблюдаются. Например, Safari и Firefox поддерживают тег <canvas>, предназначенный для создания графических изображений на сто_ роне клиента (подробности см. в главе 22). Консорциум производителей броузе_ ров (в котором, что примечательно, корпорация Microsoft не представлена), из_ вестный как WHATWG (whatwg.org), работает над стандартизацией тега <can_ vas> и многих других расширений HTML и DOM.