Вы неправильно поняли, что имел в виду Крокфорд, он не сказал, что атрибут type
полностью недействителен, просто он неверен. Тип MIME для JavaScript: application/javascript
(или application/ecmascript
, который я сейчас не помню).
Обычно используется text/javascript
, который браузеры будут обрабатывать без каких-либо проблем, так как это долгое время было стандартом defacto .
Что касается тега <script src="..."
, он является избыточным, поскольку сервер определяет тип файла MIME, и именно с этим затем будет работать браузер.
Он лучше всего объясняет это в одном из своих видео на Театре YUI (http://developer.yahoo.com/yui/theater/). Я точно не помню, о чем он говорил, я думаю, что это было в продвинутой серии JavaScript (но да, я наблюдал за ними все несколько раз, чтобы они как бы расплывались друг в друге).
Так что если вы хотите написать действительный XHTML, вам нужно предоставить что-то вроде text/javascript
, но это не официальный MIME-тип языка JavaScript.