JavaScript DOM操作 提高篇,学习网页web前端开发【图文】_Java精品学习

  // browser event has already occurred.

  if ( document.readyState === "complete" ) {

    return jQuery.ready();

  }

  // Mozilla, Opera and webkit nightlies currently support this event

  if ( document.addEventListener ) {

  // Use the handy event callback

    document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );

    // A fallback to window.onload, that will always work

    window.addEventListener( "load", jQuery.ready, false );

    // If IE event model is used

  } else if ( document.attachEvent ) {

    // ensure firing before onload,

    // maybe late but safe also for iframes

    document.attachEvent("onreadystatechange", DOMContentLoaded);

    // A fallback to window.onload, that will always work

    window.attachEvent( "onload", jQuery.ready );

    // 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();

    }

  }

}

  设计思路 – 将Webkit与Firefox同等对待,都是直接注册DOMContentLoaded事件,但是由于Webkit是在525以上版本才引入的,因此存在兼容性的隐患。 对于IE,首先注册document的onreadystatechange事件,经测试,该方式与window.onload相当,依然会等到所有资源下载完毕后才触发。 之后,判断如果是IE并且页面不在iframe当中,则通过setTiemout来不断的调用documentElement的doScroll方法,直到调用成功则出触发DOMContentLoaded。1 jQuery对于IE的解决方案的原理是,在IE下,DOM的某些方法只有在DOM解析完成后才可以调用,doScroll就是这样一个方法,反过来当能调用doScroll的时候即是DOM解析完成之时,与prototype中的document.write相比,该方案可以解决页面有iframe时失效的问题。此外,jQuery似乎担心当页面处于iframe中时,该方法会失效,因此实现代码中做了判断,如果是在iframe中则通过document的onreadystatechange来实现,否则通过doScroll来实现。不过经测试,即使是在iframe中,doScroll依然有效。

  4.  学会使用IE的条件注释。许多前端总是在抱怨万恶的IE,确实,处理兼容性的问题确实会越来越恶心,可是没有办法,既然没有办法改变,那么请享受…

<!–[if IE]>

您正在使用IE浏览器

<![endif]–>

<!–[if IE 5]>

版本 5

<![endif]–>

<!–[if IE 5.0]>

版本 5.0

<![endif]–>

最后

在面试前我花了三个月时间刷了很多大厂面试题,最近做了一个整理并分类,主要内容包括html,css,JavaScript,ES6,计算机网络,浏览器,工程化,模块化,Node.js,框架,数据结构,性能优化,项目等等。

包含了腾讯、字节跳动、小米、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中级前端技术点。

  • HTML5新特性,语义化

  • 浏览器的标准模式和怪异模式

  • xhtml和html的区别

  • 使用data-的好处

  • meta标签

  • canvas

  • HTML废弃的标签

  • IE6 bug,和一些定位写法

  • css js放置位置和原因

  • 什么是渐进式渲染

  • html模板语言

  • meta viewport原理

JavaScript DOM操作 提高篇,学习网页web前端开发【图文】_Java精品学习

  • CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

JavaScript DOM操作 提高篇,学习网页web前端开发【图文】_Java精品学习

本站由小牛团队全力维护,小牛十年了,大家已经步入中年 。本站源码全部经过团队成员测试并调试,价格可能比其它网站略贵几元钱,不解释!
小牛资源 » JavaScript DOM操作 提高篇,学习网页web前端开发【图文】_Java精品学习

发表评论

全站资源亲测可用,价格略高几元,不解释

立即查看 了解详情