文档章节

页面加载完前执行所有的js代码 解决方案

1
 1234够了
发布于 2016/01/09 20:49
字数 337
阅读 82
收藏 0

在网页加载的同时执行js代码,在加载完前执行所有的js代码:

1、Dean Edwards(js大神)解决方法,暂时不支持Safari和Opera浏览器:

<script type="text/javascript">

function init(){

if(arguments.callww.done)return;   //如果这个功能正在用再次加载时就结束

arguments.callee.done=true ;        //作为函数不加载多次的标志

 //创建页面正在加载的信息;

var text=document.createTextNode(“Page loaded”);

var message=documents.getElementsById("message");

message.appendChild(text);

}

if(document.addEventListener){  //mozilla显示

document.addEventListener("DomContentLoaded",init,false);

}

document.write("<script defer src=ie_onload.js><"+"/script>");   //ie浏览器

window.onload=init;     //其他浏览器

</script>

这种方法存在缺点:(1)对于ie浏览器需要额外的javascript文件,(2)不支持safari和opera浏览器

2、支持safari浏览器的页面加载的方案:

<script type="text/javascript">

function init(){

if(arguments.callww.done)return;   //如果这个功能正在用再次加载时就结束

arguments.callee.done=true ;        //作为函数不加载多次的标志

if(_timer)  clearInterval(_timer);  //关闭计时器

//做其他工作;

}

if(document.addEventListener){  //mozilla显示

document.addEventListener("DomContentLoaded",init,false);

}

//ie浏览器

document.write("<script id=_ie_onload defer src=javascript:viod(0)></script>");

var script=document.getElementById("_ie_onload");

script.onreadystatechange=fuunction(){

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

init();   //调回页面加载处理函数

}}

//针对safari

if(/WebKit/i.test(navigator.userAgent) ) {  //嗅探

var _timer=setInterval(function(){

if(/loaded  | complete/.test(document.readyState) ){

init();     //调回页面加载处理函数

}},10)

}

  window.onload=init;     //其他浏览器

</script>


© 著作权归作者所有

上一篇: js正则表达式
1
粉丝 0
博文 12
码字总数 5630
作品 0
成都
私信 提问
JSON,异步加载(学习笔记)

JSON是一种传输数据的格式(以对象为样板,本质上就是对象,但用途有区别,对象就是本地用的,json是用来数据传输的,前端与后端的数据通信) JSON是静态类(不需要构造),类似于Math,内部...

Mrs_CoCo
2018/04/23
85
0
解析JavaScript异步加载

本篇文章给大家分享了作者在学习JavaScript异步加载中遇到的问题,总结后给出了详细的处理方案,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢...

前端攻城老湿
2018/12/24
0
0
切图崽的自我修养-使用模块化JS

前言 我们来玩乐高积木吧 模块化Js已经成为了老生常谈,不过在JavaScript设计之初,由于定位的问题并没有提供类的功能,开发者需要模拟出类似的功能,来隔离、组织复杂的JavaScript代码。之前...

大切图崽
09/29
0
0
Javascript在网页页面加载时的执行顺序

原文:http://blog.csdn.net/kylinbl/article/details/6160587 操作HTML DOM文档的一个难题是,你的JavaScript代码可能在DOM完全载入之前运行,这会导致你的代码产生一些问题。页面加载时浏览...

樂天
2015/11/20
368
0
WebView深度学习(三)之WebView的内存泄漏、漏洞以及缓存机制原理和解决方案

上两篇文章讲到了WebView的基本使用以及Android和js的交互 以及 全面总结WebView遇到的坑及优化 ,这篇文章讲一下内存泄漏和漏洞处理。如果你想更深入的了解WebView,这篇文章值得一看。 ⇒ ...

aweiloveandroid
2018/01/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Security 实战干货:基于注解的接口角色访问控制

1. 前言 欢迎阅读 Spring Security 实战干货 系列文章 。在上一篇 基于配置的接口角色访问控制 我们讲解了如何通过 javaConfig 的方式配置接口的角色访问控制。其实还有一种更加灵活的配置方...

码农小胖哥
22分钟前
8
0
Kafka基础——生产者

kafka生产者发送流程: kafka是通过异步的方式进行的消息发送流程,为什么是异步的? 主线程->构建ProducerRecord对象,这个对象声明了主题Topic、分区Partition、键 Key以及 值 Value,主题...

渣哇晖
24分钟前
6
0
类和对象 总结

1.public class 类名{ 属性 方法 } 2.对象 a.创建对象 类名 对象名=new 类名(); Telephone phone =new Telephone(); b.使用对象 引用对象的属性:对象名.属性 phone.sceen=5;//赋值 引用对象的...

Lao鹰
24分钟前
8
0
重试组件

系列说明 Java retry 的一步步实现机制。 https://github.com/houbb/retry 情景导入 简单的需求 产品经理:实现一个按条件,查询用户信息的服务。 小明:好的。没问题。 代码 UserService.ja...

阿提说说
30分钟前
5
0
PhotoShop 高级应用: Puppet Warp - 操控变形

一:Puppet Warp - 操控变形【人像图像进行类似肌肉骨骼的多点调整:】 1.编辑选项卡--->操控变形- 【操控变形支持智能对象】 二.操控变形实例:人物图像的运动·重影效果 1.扣取人物图像,对...

东方墨天
39分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部