Индикация бара в загрузке iframe непоследовательна в IE. - PullRequest
0 голосов
/ 11 февраля 2010

Я использую приведенную ниже структуру кода для презентации, которая является страницей jsp .Обычно загрузка веб-страницы занимает более 3 секунд.

Я ввел индикаторную панель (что-то вроде cvi_busy), так что некоторая панель с поддержкой JavaScript будет отображаться до полной загрузки страницы.Я делаю это, используя iframe внутри div.И в тот момент, когда тело полностью загружается, я собираюсь скрыть div и iframe.

Проблема, с которой я сталкиваюсь, заключается в том, что индикаторная панель не работает постоянно.Когда он загружается, иногда индикатор появляется, а иногда нет.Я использую браузер IE.

<html>
 <body>
    <div id="loadImageBarDiv">
    <iframe style="width:100%;height:100%;"  frameborder="0" name="loadingFrame" src="jsp/Splash.html" id="loadIframe" allowTransparency="true"/>
    </div>

    //---- my presentation for the page over here.
    </body>
    <script language="javascript">
if(window.frames['loadingFrame']){
if(window.frames['loadingFrame'].xval){
window.frames['loadingFrame'].xval.remove();}
window.frames['loadingFrame'].width="0px";
window.frames['loadingFrame'].height="0px";
}
document.getElementById("loadImageBar").style.display="none";
</script>
</html>

1 Ответ

0 голосов
/ 12 февраля 2010

Если вы используете jQuery, это должно быть очень легко исправить. Просто сделай:

<script language="javascript">
$(function() {
  if(window.frames['loadingFrame']){
  if(window.frames['loadingFrame'].xval){
  window.frames['loadingFrame'].xval.remove();}
  window.frames['loadingFrame'].width="0px";
  window.frames['loadingFrame'].height="0px";
  }
  document.getElementById("loadImageBar").style.display="none";
});
</script>

В начале страницы . $ (someFunction) - это ярлык jQuery для подключения обработчика событий «onReady», что, как кажется, вы пытаетесь сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...