Многие используют $( document ).ready( fn )
или упрощённую запись $( fn )
для выполнения js-кода по окончанию загрузки DOM-модели страницы. Это удобно и кроссбраузерно, однако результат выполнения следующего кода:
<html> <head> <title>Test .ready</title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script> <script>$( function() { error.error + 'error'; /* Error :) */ } ); </script> <script> $( function() { alert( 'All right' ); } ); alert(2); </script> </head> <body> </body> </html>
может вас разачаровать. Дело в том, что если одна из поставленных в очередь на .ready функций “заглючит”, остальные не выполнятся. Вы не увидете ‘All right’, только ‘2’. Т.е. какой-либо мелочный глюк в одном модуле может привести к полной неработоспособности javascript-а на странице.