Я використовую наступний код для виконання деяких операторів після завантаження сторінки.
<script type="text/javascript">
window.onload = function () {
newInvite();
document.ag.src="b.jpg";
}
</script>
Але цей код працює некоректно. Функція викликається, навіть якщо завантажуються деякі зображення або елементи. Я хочу, щоб функція викликалася після повного завантаження сторінки.
це може спрацювати для вас:
document.addEventListener('DOMContentLoaded', function() {
// your code here
}, false);
або якщо вам зручно працювати з jquery,
$(document).ready(function(){
// your code
});
$(document).ready()
спрацьовує на DOMContentLoaded, але ця подія не спрацьовує послідовно в різних браузерах. Ось чому jQuery, швидше за все, буде реалізовувати деякі важкі обхідні шляхи для підтримки всіх браузерів. І це зробить дуже складною (але не неможливою, звичайно) імітацію поведінки за допомогою звичайного Javascript.
Як запропонували Jeffrey Sweeney і J Torres, я думаю, що краще мати функцію setTimeout
, перед виконанням функції, як показано нижче:
setTimeout(function(){
//your code here
}, 3000);
Якщо ви можете використовувати jQuery, подивіться на load. Після цього ви можете налаштувати функцію на запуск після того, як ваш елемент закінчить завантаження.
Наприклад, розглянемо сторінку з простим зображенням:
<img src="book.png" alt="Book" id="book" />
Обробник події можна прив'язати до зображення:
$('#book').load(function() {
// Handler for .load() called.
});
Якщо потрібно, щоб завантажилися всі елементи поточного вікна, можна використати
$(window).load(function () {
// run code
});