css,javascript的预加载
为了提高网站的加载速度,有一个很重要的手段就是在用户浏览过程中的上游网站做一个文件的预加载。预加载文件一般有两种常用的方式:xhr和动态插入节点的方式。动态插入节点是最为简单也最为广泛的一种异步加载方式(例如yui的Get模块),然后使用动态插入节点方法加载的文件都会在加载后立即执行,javascript的执行一方面会占用浏览器js执行进程,另一方面也可能改变页面结构,而css的执行更有可能让整个页面变化。xhr方式虽然不会执行脚本,但是由于同域的限制,且如今网站的静态文件都是部署在cdn服务器上,如何预加载css js文件也变有点玄妙了。
Stoyan Stefanov 撰文简明的阐述了一种加载文件而不会让之执行的方法。原文可见 http://www.phpied.com/preload-cssjavascript-without-execution/
具体的方法是,ie中使用 new Image().src 去预加载文件,而其他浏览器使用动态插入的 <object> 标签来完成加载。
部分代码如下
code
1 window.onload = function () {
2
3 var i = 0,
4 max = 0,
5 o = null,
6
7 // list of stuff to preload
8 preload = [
9 'http://tools.w3clubs.com/pagr2/<?php echo $id; ?>.sleep.expires.png',
10 'http://tools.w3clubs.com/pagr2/<?php echo $id; ?>.sleep.expires.js',
11 'http://tools.w3clubs.com/pagr2/<?php echo $id; ?>.sleep.expires.css'
12 ],
13 isIE = navigator.appName.indexOf('Micr
相关文档:
CSS兼容性一直是大家头疼的问题,现在说说如何区分这几个浏览器,IE6、IE7、IE8和FF,IE8均指IE8正式版,版本号:8.0.6001.18702。
以颜色为例来说如何区分这几个浏览器:
.csshack{
color:#f00; &nbs ......
<script language="javascript">
function ShowTableRow(id)
{
var _Row = document.getElementById(id) <!-- 获取ID为TableRowID 的对象 -->
var _Img = document.getElementById("Img"+id)
&nb ......
css,javascript的预加载
为了提高网站的加载速度,有一个很重要的手段就是在用户浏览过程中的上游网站做一个文件的预加载。预加载文件一般有两种常用的方式:xhr和动态插入节点的方式。动态插入节点是最为简单也最为广泛的一种异步加载方式(例如yui的Get模块),然后使用动态插入节点方法加载的文件都会在加载后立即执行, ......