IE DOMContentLoaded documentElement.doScroll

时间:2012-05-29 14:55:41

标签: javascript javascript-events

为什么只有在流行的JS库中窗口不在iframe中时才会实现DOMContentLoaded trick for IE by Diego Perini

jQuery:

//If IE and not a frame continually check to see if the document is ready

  var toplevel = false;

  try {
    toplevel = window.frameElement == null;
  } catch(e) {}

  if ( document.documentElement.doScroll && toplevel ) {
    doScrollCheck();
  }

原型:

document.observe('readystatechange', checkReadyState);
if (window == top)
  timer = pollDoScroll.defer();

它们都检查窗口是否等于顶部,如果是document.documentElement.doScroll('left');则用于检查就绪状态。 但是为什么不在window != top时使用它呢?

1 个答案:

答案 0 :(得分:5)

对于YUI库状态的

This bug report,框架文档中的doScroll与在顶层运行时的工作方式不同(在文档未准备好时不会抛出错误)。