2013-07-03 4 views
2
<head> 
    <script type="text/javascript"> 

     document.onreadystatechange = WaitForComplete; 

     function WaitForComplete() { 
      console.log ("The state of the document: " + document.readyState); 
     } 

     function OnLoad() { 
      console.log ("The document has been loaded."); 
     } 
    </script> 
</head> 
<body onload="OnLoad()"> 
</body> 

В firefox-> консоли, она показывает:пытаясь понять некоторые коды, связанные с readyState в JS

The state of the document: interactive 
The state of the document: complete 
The document has been loaded. 

Вопрос:

почему каждый раз, когда я запускаю скрипт в Firefox, это только показывает, interactive и complete? как насчет других стран: uninitialized, loading ...

ответ

0

Вы не получаете состояние: uninitialized,loading..., потому что вы используете функцию onreadystatechange и не проверяя верхние оба состояния.

И onreadystatechange работает, когда документ находится в состоянии интерактивного или полного состояния и в состоянии загрузки или неинициализации оно не будет вызываться.

, чтобы получить состояние загрузки вам нужно добавить код:

document.write(document.readyState);

в запуске скрипта, без использования onreadystatechange.

И uninitialized заявляет, что вы не можете выполнить какой-либо javascript и не сможете получить это состояние.

Смежные вопросы