2011-07-17 3 views
4

У меня есть страница HTML, содержащая . На некоторых событиях обновляется (и я вижу, что содержимое меняется, так что все в порядке).iframe onreadystatechange

Что я хочу сделать, это добавить onreadystatechange в , чтобы я мог отображать «загружаемый» текст во время загрузки содержимого.

Я не смог добавить onreadystatechange в любой браузер (Safari, Chrome, FF). Из того, что я нашел в Интернете, похоже, работает в IE, но это не помогает мне.

Я пробовал:

<iframe onreadystatechange="function();"> document.getElementById('frameId').onreadystatechange = function() {}; document.getElementById('frameId').contentDocument.onreadystatechange = function() {};

но ничего не похоже на работу.

Благодарим за помощь.

ответ

7

Так что если вы хотите показать сообщение «Загрузка страницы» и скрыть это, когда завершение загрузки iframe, вы можете сделать что-то похожее на пример ниже. Обратите внимание, что я использовал JQuery только для упрощения этого процесса. Но, очевидно, это можно сделать и на 100% Javascript.

Я также создал это на JSFiddle, чтобы показать вам результат. Проверьте это here!!

<html> 
<head> 
<script type="text/javascript"> 

function load() { 
    //iframe has loaded. 
    $('div#loading').delay(1000).slideUp('slow', function() { 
     $('div#finished').slideDown('slow').delay('2000').slideUp('slow'); 
     $('iframe').toggle(); 
    }); 
} 
</script> 
</head> 
<body> 

    <div id="loading">This page is currently loading.. Just a sec please!</div> 
    <div id="finished" style="display: none">Thanks for waiting, enjoy my website now!</div> 
    <iframe style="display: none" onload="load()" src="your_url.php"></iframe> 

</body> 
</html> 
+0

Я действительно ищу способ для отображения более подробной информации для пользователя. Как «страница теперь загружается» и «страница закончила загрузку». Метод, который вы предложили, отлично подходит для сообщения «готовой загрузки», но он не помогает при отправке сообщения «сейчас загрузка». –

+0

@Sorin Buturugeanu: Почему бы просто не показать сообщение при настройке URL-адреса и скрыть его при 'onload'? – pimvdb

+0

@Sorin Buturugeanu: Как это не поможет вам? Действительно, покажите div, содержащий это сообщение. И когда iframe закончил загрузку, поэтому в функции load() {} вы спрячете этот div и покажите iframe. Я отредактирую свой ответ соответственно. – Jules