很久没有来百度空间看看了,一直忙武林三国游戏, 这款webgame目前已经进入收尾阶段, 今天来到这儿,突然觉得留下点什么比较好, 呵呵.. ..

想了想, 就取了"Ajax优化"这个题目, 将一系列同行们可能没有用到 or 没有注意 or 发现但没有去处理的细节记录下来.

DOMContentLoaded是firefox下特有的Event, 当所有DOM解析完以后会触发这个事件。

与DOM中的onLoad事件与其相近。但onload要等到所有页面元素加载完成才会触发, 包括页面上的图片等等。

如果页面的图片很多的话, 从用户访问到onload触发可能需要较长的时间, 而在Ajax运用中, 常常需要在onload中加入许多初始化的动作, 如果由于网络问题引起的图片加载过慢( 见: Ajax优化(2) — lazierLoad img && js), 则必然影响用户的体验。

在这种情况下firefox的DOMContentLoaded事件, 恰恰是我们需要的。

目前,跨平台的DOMContentLoaded的解决方案有很多, 比如jQuery, Prototype…等等, 其实现原理大同小异.

在项目中, 我使用了Prototype工具, 以往调用初始化的方法是:

Event.observe(window, "load", init);

现在有了DOMContentLoaded, 可以替换成如下的方法:

document.observe(‘contentloaded’, init);

最新的prototype中自定义事件已经重新命名, 使用"dom:loaded" 代替了 “contentloaded”.

document.observe(‘dom:loaded’, init);

附:

文件名称:DOMContentLoaded.js

function onContent(f){

var a = onContent,

b = navigator.userAgent,

d = document,

w = window,

c = "onContent",

e = "addEventListener",

o = "opera",

r = "readyState",

s = "");

a[c] = (function(o) {

return function() {

a[c] = function() {};

for (a = arguments.callee; ! a.done; a.done = 1) f(o ? o() : o)

}

})(a[c]);

if (d[e]) d[e]("DOMContentLoaded", a[c], false);

if (/WebKit|Khtml/i.test(b) || (w[o] && parseInt(w[o].version()) < 9))(function() { / loaded | complete / .test(d[r]) ? a[c]() : setTimeout(arguments.callee, 1)

})();

else if (/MSIE/i.test(b)) d.write(s);

};

domcontentloaded ajax,Ajax优化(1) — DOMContentLoaded相关推荐

  1. 前端基于浏览器存储的AJAX性能优化

    受后端开发redis启发,基于浏览器sessionStorage存储的ajax性能优化. 一.需求 随着单页面和前后端分离的兴起,ajax已经成为大部分前后端数据交互的途径.虽然ajax是异步的,但是 ...

  2. 了解ajax,ajax的优化有哪些

    -20-01-20 ------------------------------学习打卡-------------------------------------------------------- ...

  3. AJAX工作原理及其优缺点 1.什么是AJAX? AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页

    参考文章:https://www.cnblogs.com/SanMaoSpace/archive/2013/06/15/3137180.html AJAX工作原理及其优缺点 1.什么是AJAX? AJ ...

  4. sweet+alert+ajax,Ajax相关

    Ajax Ajax的特性可以实现异步提交与局部刷新. Ajax是一门js的技术 基于原生js开发的,但是用原生的js写代码过于繁琐, 我们在学的时候 只学如何用jQuery实现ajax. AJAX 最 ...

  5. html同时执行多个ajax,Ajax方法详解以及多个Ajax并发执行

    AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML).javascript 先来一段代码html $.ajax({ type: &q ...

  6. jQuery ajax - ajax()

    jQuery ajax - ajax() 方法 jQuery Ajax 参考手册 实例 通过 AJAX 加载一段文本: jQuery 代码: $(document).ready(function(){ ...

  7. jQuery Ajax - ajax()方法,参数注释

    jQuery Ajax - ajax()方法,参数注释 ajax(参数注释,解答): $.ajax({// type,请求方式type: "get", // url,地址,就是ac ...

  8. JavaScript之Ajax-1 Ajax(Ajax原理、Ajax对象属性和方法)

    一.Ajax原理 Ajax简介 - Asynchronous JavaScript And Xml 异步的 JavaScript 和 Xml - Ajax 是一种用来改善用户体验的技术,其实质是,使用 ...

  9. Ajax 什么是Ajax? Ajax的基本语法

    Ajax 什么是Ajax? AJAX(Asynchronous Javascript And XML)翻译成中文就是"异步Javascript和XML".即使用Javascript ...

  10. 什么是Ajax?Ajax如何发送请求(详)

    本篇来讲关于Ajax的内容,当然还有小伙伴可能不知道该怎么读 "Ajax",它读 "阿贾克斯" ,当然了读法可能因人而异,下面来进入正题,先来了解一下什么是Aj ...

最新文章

  1. 域名年龄-SEO搜索引擎优化
  2. 产业|中国电子学会发布《机器人十大新兴应用领域(2018-2019年)》
  3. 条件变量pthread_cond_wait()和pthread_cond_signal()详解
  4. mysql监控 hp_0066 使用PHP和MySQL实现学生分数信息管理
  5. RabbitMQ入门-Routing直连模式
  6. linux fedora配置.myBase.ini文件
  7. 大学c语言程序设计实训课实验报告,大学一年级下学期C语言程序设计实验报告答案 完整版...
  8. MongoDB升级导致启动失败
  9. Support Vector Machine (3) : 再谈泛化误差(Generalization Error)
  10. java序列化与反序列化总结
  11. java webserver demo_Java 实现 web服务器的简单实例
  12. c++拼接字符串效率比较(+=、append、stringstream、sprintf)
  13. LaTex论文编写常用代码
  14. 关于QQ热键在不知道的情况下找出热键组合的办法
  15. 数学符号Span的含义
  16. 资治通鉴-6 听的智慧
  17. Ubuntu 10.10 无线网络已经禁用” “wiress is disabled” 解决方法
  18. layui登陆验证页面模板(滑块学习)
  19. 费雪分离定理的证明与评价
  20. Python中timestamp时间戳和日期时间的转换

热门文章

  1. silverlight 碰撞检测
  2. Ajax实现--javascript
  3. 业界资讯: Flash Player Incubator 改进
  4. [原创]如何有效的考核测试人员
  5. 工程之星位置服务器,工程之星5.0中求坐标转换参数需要谨记这七大点!
  6. POI操作Excel详解,HSSF和XSSF两种方式
  7. JVM监控及诊断工具命令行篇之jmap
  8. 并发编程常见面试题总结三
  9. HashSet源码阅读
  10. 基于HT for Web矢量实现3D叶轮旋转