IE DOMContentLoaded documentElement.doScroll

IE DOMContentLoaded documentElement.doScroll

本文关键字:doScroll documentElement DOMContentLoaded IE      更新时间:2023-09-26

有什么理由为什么Diego Perini的IE的DOMContentLoaded技巧只有在流行的JS库中的iframe中没有窗口时才实现?

j查询:

//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时使用它呢?

YUI库的这个错误报告指出,框架文档中的doScroll的工作方式与在顶层运行时不同(当文档未准备好时不会引发错误)。