Вызывается ли $(document).ready() после загрузки всех файлов сценариев в теле?
Вызывается ли $(document).ready() после загрузки js-файлов сценария в тело?
Если я помещу $(document).ready() в голову в элементе script, который принимает функцию обратного вызова, использующую функции, объявленные в файле, который его элемент script загружает в тело следующим образом:
<!DOCTYPE HTML>
<html>
<script src="jquery.js" type="text/javascript"></script>
<script>
$(function(){
hello();
})
</script>
<head>
</head>
<body>
<script src="http://somewhere/helloFuncDeclaration.js" type="text/javascript"></script>
</body>
</html>
Это правильный способ сделать это и гарантировать, что helloFuncDeclaration.js будет загружен перед вызовом функции hello()?
3 ответа
Чтобы быть уверенным, используйте обработчик загрузки окна:
$(window).on('load', hello);
Или используйте это так:
<script onload="hello()" src="http://somewhere/helloFuncDeclaration.js" type="text/javascript"></script>
Чтобы быть уверенным, вы можете использовать window.load
$(window).load(function(){
hello();
})
Событие load отправляется элементу, когда он и все вложенные элементы полностью загружены. Это событие может быть отправлено любому элементу, связанному с URL: изображениям, сценариям, фреймам, фреймам и объекту окна.
$(document).ready()
работает после того, как все активы были загружены, так что - да