- 浏览: 64248 次
- 性别:
- 来自: 北京
最新评论
-
dimingchan:
有少少理解了,我们新公司的项目用了很多存储过程,也用到预编译。 ...
mysql prepare 存储过程使用 -
tangzexi:
tangzexi 写道[color=red][/col[fla ...
页面滚动条 -
tangzexi:
[color=red][/col[flash=200,200] ...
页面滚动条
window.onload事件可以安全的执行javascript,因为该事件是在页面完全加载完后才开始执行(包括页面内的图片、flash等 所有元素),不会因为JS需要对某个DOM 操作,而页面还没有加载该节点而引起错误。但是这种安全是需要付出代价的:如果某些图片(或者一些别的东西)加载特别慢,那么load事件会等到很久之后 才会触发。针对这个问题,一些JS框架提供了一些补充方法。如:jquery的$(document).ready()、mootools的 domready事件。都是在页面的DOM加载完毕后立即执行,而不需要等待漫长的图片下载过程。如果不使用这些框架,可以使用这个独立的 DomReady.js
(function(){ var DomReady = window.DomReady = {}; // Everything that has to do with properly supporting our document ready event. Brought over from the most awesome jQuery. var userAgent = navigator.userAgent.toLowerCase(); // Figure out what browser is being used var browser = { version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1], safari: /webkit/.test(userAgent), opera: /opera/.test(userAgent), msie: (/msie/.test(userAgent)) && (!/opera/.test( userAgent )), mozilla: (/mozilla/.test(userAgent)) && (!/(compatible|webkit)/.test(userAgent)) }; var readyBound = false; var isReady = false; var readyList = []; // Handle when the DOM is ready function domReady() { // Make sure that the DOM is not already loaded if(!isReady) { // Remember that the DOM is ready isReady = true; if(readyList) { for(var fn = 0; fn < readyList.length; fn++) { readyList[fn].call(window, []); } readyList = []; } } }; // From Simon Willison. A safe way to fire onload w/o screwing up everyone else. function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { if (oldonload) { oldonload(); } func(); } } }; // does the heavy work of working through the browsers idiosyncracies (let's call them that) to hook onload. function bindReady() { if(readyBound) { return; } readyBound = true; // Mozilla, Opera (see further below for it) and webkit nightlies currently support this event if (document.addEventListener && !browser.opera) { // Use the handy event callback document.addEventListener("DOMContentLoaded", domReady, false); } // If IE is used and is not in a frame // Continually check to see if the document is ready if (browser.msie && window == top) (function(){ if (isReady) return; try { // If IE is used, use the trick by Diego Perini // http://javascript.nwbox.com/IEContentLoaded/ document.documentElement.doScroll("left"); } catch(error) { setTimeout(arguments.callee, 0); return; } // and execute any waiting functions domReady(); })(); if(browser.opera) { document.addEventListener( "DOMContentLoaded", function () { if (isReady) return; for (var i = 0; i < document.styleSheets.length; i++) if (document.styleSheets[i].disabled) { setTimeout( arguments.callee, 0 ); return; } // and execute any waiting functions domReady(); }, false); } if(browser.safari) { var numStyles; (function(){ if (isReady) return; if (document.readyState != "loaded" && document.readyState != "complete") { setTimeout( arguments.callee, 0 ); return; } if (numStyles === undefined) { var links = document.getElementsByTagName("link"); for (var i=0; i < links.length; i++) { if(links[i].getAttribute('rel') == 'stylesheet') { numStyles++; } } var styles = document.getElementsByTagName("style"); numStyles += styles.length; } if (document.styleSheets.length != numStyles) { setTimeout( arguments.callee, 0 ); return; } // and execute any waiting functions domReady(); })(); } // A fallback to window.onload, that will always work addLoadEvent(domReady); }; // This is the public function that people can use to hook up ready. DomReady.ready = function(fn, args) { // Attach the listeners bindReady(); // If the DOM is already ready if (isReady) { // Execute the function immediately fn.call(window, []); } else { // Add the function to the wait list readyList.push( function() { return fn.call(window, []); } ); } }; bindReady(); })();
使用方法: <html lang="en"> <head> <script src="domready.js" type="application/javascript"></script> <script type="application/javascript"> DomReady.ready(function() { alert('dom is ready'); }); </script> </head> <body> </body> </html>
使用这种方式js执行的顺序会在jsp页面中有类似下面的js执行的后面执行:
$(function(){ <%@ include file="../../js/order/rule_zadd.js"%> });
但是会在window.onload之前执行。
发表评论
-
正则表达式 汉字、数字、字母、横杠
2013-02-21 17:10 1929先推荐一个在线测试/学习正则表达式的网址, http ... -
设置$.getJSON同步请求
2013-01-09 19:15 884在执行请求之前加上 $.ajaxSettings.async ... -
JQuery获取浏览器窗口的高度和宽度
2013-01-09 11:01 726<script type="text/java ... -
表单验证
2012-12-13 16:15 578<%@ page language="java ... -
jquery json 异步请求
2012-12-13 13:50 827前端js: //重复返回false,不重复返回 true ... -
Javascript 页面跳转
2012-12-11 20:24 615<%@ page language="java ... -
jquery getJSON 异步请求
2012-12-05 17:34 1430简单示例: 前段js请求: $.getJSON(ctx + ... -
正则表达式 大于0的数字(包含小数)
2012-11-22 10:08 1981var parnt = /^[1-9]\d*( ... -
javascript中apply()和call() 区别
2012-11-19 17:05 578如 果没接触过动态语言,以编译型语言的思维方式去 ... -
兼容IE和标准浏览器的js跳转获取refer
2012-11-19 16:22 885在IE中用javascript做跳转,比如用window.lo ... -
Javascript 脚本的调试经验
2012-11-19 15:11 653随着用JavaScript编程的深入,你会开始理解那些Java ... -
优化JavaScript脚本的性能
2012-11-19 15:08 593循环 循环是很常用的一个控制结构,大部分东西要依靠它来完成, ... -
Jquery getScript 异步获取数据
2012-11-17 17:44 2446<script type="text/java ... -
ajax 缓存
2012-11-17 12:24 2597当jquery load 一个页面时候 只加载一次 解决方 ...
相关推荐
页面加载中js 页面加载中js 页面加载中js 页面加载中js 页面加载中js
页面延迟加载源码下载,图片延迟加载源码下载,jquery页面延迟加载,页面延迟加载技术实现分析
网页按顺序加载 最后加载js广告网页按顺序加载 最后加载js广告
当项目js(css)文件使用越来越多,js 文件的加载也成了性能上的一个问题,此资源能够在页面全部加载完成后异步加载js等资源文件,它可以顺序加载资源列表,也可以并发加载资源列表,它包含一个方法调用接口:...
js实现页面加载完毕之前loading提示效果:在页面上所有的DOM没有加载完毕之前,我们想让页面正中间显示一个“页面加载中,请稍后...”的字样,此效果正是,样式可以根据自己的需求改动!!!
这是动态加载外部JS文件,很不错的例子哦!
本篇文章主要是对javascript页面加载完执行事件的代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
基于javascript(jQuery)的动态改变网站样式,按F5刷新之后也可以保存选择的样式的结果(基于 Cookie)。
网页进度条能够更好的反应当前网页的加载进度情况,loading进度条可用动画的形式从开始0%到100%完成网页加载这一过程。但是目前的浏览器并没有提供页面加载进度方面的接口,也就是说页面还无法准确返回页面实际加载...
页面延迟加载JS包 lazyload.js scrollloading.js
当你在页面需要预加载的时候可以使用本页面,还可以在本页面放一些广告或者笑话打发时间的同时给浏览者深刻的影响。
超级简单网页抓取源码,js加载完成抓取源码,抓取动态加载页面的源码。适合初学者,很简单。看懂很容易。页面加载完成抓取源码 适合新手,赚点资源分但是内容绝对有效简单明了。
js页面加载进度条 虽然有些简单 但是可以用 有那个动态效果在
C#判断webbrowser页面最终加载完成
这是一个js加载广告的示例 比如使用sohu等门户站点首页所使用的。 很实用。
js加载页面等待效果,加载完成以后可以显示全部页面,前期等待效果
js实现自动跳转,大家多下哈, 资源难得,几秒种跳转只需要修改后面的参数就行了!
在网页中,通过js来操作xml,并且加载到网页中去
一个美观的网页加载效果哦,兼容所有浏览器。