Сегодня под аяксом понимается все что угодно, что связано с ЯваСкрипт.
Здесь есть несколько недостатков. Первый (от которого можно избавиться) - объектная модель страницы засоряется элементами <script>, причем довольно-таки быстро. Второй (который нельзя обойти) - это то, что сервер должен генерировать ответ в виде скрипта, что как минимум не приятно. Поэтому лично я, где можно использовать XMLHttpRequest, использую его. В остальных случаях конечно script.
Если уж быть абсолютно честным, то не такие уж большие затраты. Один раз на грабли наступил, в следующий раз обходишь. А граблей не так уж много.
Ну это вы конечно погорячились. Да и не заставляет ведь никто.
А и наплевать на них, попадаются еще такие, которые напишут свой браузер и сидят под ним из принципа, так что ж теперь из кожи вон лезть, чтоб у них страничка нормально показывалась?
Ага. Но решение все же имеется. Лезем во все тот же prototype и смотрим на объект Element.Methods. Все его методы первым аргументом принимают ссылку на элемент. Следовательно использовать можно так:
Element.hide($('myDiv'));
Далее смотрим на метод Element.extend и понимаем что можно и так:
Element.extend($('myDiv')); $('myDiv').hide()
Это конечно вызов лишней функции, но зато работает во всех браузерах, да и не сильно это увеличивает код, создаем мы к примеру новый div:
var myDiv = Element.extend(document.createElement('DIV'));
Мысль ясна? ;)
А в чем проблема? В той же prototype.js перегружаются многие встроенные классы (Number, Array, String) и объекты DOM, document в частности. Кстати очень даже нужными функциями перегружаются (такая вот реклама :) ). И работает это все и в ИЕ, и в ФФ, и в Опере, а еще в Сафари, в КХТМЛ. Вообще стоит почитать код для общего развития.
Использую AJAX на сайте в подписи, но это опять же сервис.
Вообще если нужна интерактивность, общение с пользователем, то яваскрипт очень даже не повредит, а если просто публикация контента, то и яваскрипт незачем.
Еще есть ну очень хорошая библиотека prototype.js http://prototype.conio.net/ , в которой в частности есть объект Ajax.
Неполная справка по библиотеке на русском языке http://kropp.spb.ru/docs/prototype/
Более полная (почти полная) на английском http://www.sergiopereira.com/articles/prototype.js.html
Щас пишу свою справку по всему этому делу, может когда-нибудь выложу.
А так http://www.webalta.ru/search?q=%F0%E0%E1%EE%F2%E0+%E2+%FF%F0%EE%F1%EB%E0%E2%EB%E5 ? (работа в ярославле). Че то вообще почти все не по теме.
Спор пошел только о двух технологиях: Смарти и XSLT. Но спор не конструктивный, так как те кто хорошо знают Смарти плохо или вообще не знают XSLT, и наоборот, в результате у каждого своя технология самая лучшая. К сожалению я не смогу внести конструктивности в этот спор, т.к. не знаю XSLT (хотя разумеется охота изучить, но руки не доходят). Остается надеятся, что придет кто-то, кто хорошо разбирается в обеих технологиях и выскажет свою точку зрения.
Вот эта конструкция возвращает ссылку на элемент HTML:
document.getElementsByTagName('HTML')[0]
Соответственно можно взять свойство innerHTML. Если нужно вместе с тэгами <html>, то можно взять outerHTML, но это свойство не поддерживает FF. Если принципиально именно вместе с ними, то можно подумать как и в FF их захватить. Следует также помнить, что все это дело вернет код сформированный на данный момент, т.е. если запустить его в самом начале страницы, то скорее всего элемента body в коде вообще не будет.
К чему такая точность? ИМХО это можно приравнять к тому, что сайт отсутствует в выдаче. Да и яндекс на таких местах будет разные позиции каждый раз выдавать, если вообще будет, вчера по нескольким конкурентным запросам стабильно 90 результатов выдавал.
Действительно, про * забыл. Исправлено.
Это не шаблонизатор, а "хтмл-файлы с php-вставками". А если серьезно, то если ваше приложение допускает такие "шаблоны", то шаблонизатор вам просто напросто не нужен.