加快网页的打开速度
上一篇 /
下一篇 2007-06-25 11:40:49
/ 个人分类:ASP
先加载网页,然后再加载广告 让广告代码不再影响你的网页加载速度
:h4vpeGj.D~Eh0第一步:把这段代码放在你要放广告的网页位置:
51Testing软件测试网z{ksoAb&DH l:G'E6J`0<SPAN id=ad_01>广告载入中...</SPAN>
51Testing软件测试网f:`/C,s)@51Testing软件测试网(nd2n?os第二步:把这段代码放到页底:
51Testing软件测试网?}3k,y^(sC5Eu6{5[6A0<SPAN class=spanclass id=span_ad_01>
T*PTa0\-WB0这里放广告的JS代码或
其他加载速度比较慢的内容都可以.
51Testing软件测试网
NJUm~haz*Mb</SPAN>
51Testing软件测试网C%C_2\p7P8B(T-M;K0S<scrīpt>ad_01.innerHTML=span_ad_01.innerHTML;span_ad_01.innerHTML="";</scrīpt>
51Testing软件测试网D*GeqI5T51Testing软件测试网I3l
csbd演示:
http://www.caoxia.com/Story/15/6/83481.html
但该代码有两个问题,
1、多出一个空行
2、在FIREFOX下不能正常显示
参考下文
很多人都可能遇到过这种情况:设置 innerHTML 的时候,插入的 HTML 代码中包含脚本,但这些脚本却不生效,或者在 IE 上生效在其它浏览器上就不生效。原因很简单:不同浏览器对插入 innerHTML 中的脚本有不同的处理方法。经过实践,归纳如下:
cB3M(m$S S0对于IE,首先 scrīpt 标签必须带 defer 属性,其次在插入时刻,innerHTML 的所属节点必须在 DOM 树中;对于 Firefox 和 Opera,在插入时刻,innerHTML 的所属节点不可以在 DOM 树中。51Testing软件测试网:bn'?%}s|根据上面结论,给出通用的设置 innerHTML 方法:
/*
51Testing软件测试网ob)\AAm'D * 描述:跨浏览器的设置 innerHTML 方法
51Testing软件测试网y)l {Z$lp
|9e` * 允许插入的 HTML 代码中包含 scrīpt 和 style
51Testing软件测试网t#j7kC;P * 作者:kenxu <ken@ajaxwing.com>
51Testing软件测试网y6~O,lx1p * 日期:2006-03-23
nE\s5}8w5Q!X0 * 参数:
51Testing软件测试网ulZ0c9?iO-q/n * el: 合法的 DOM 树中的节点
ZU0l"f a.G!d'Pt0 * htmlCode: 合法的 HTML 代码
E&r8R"A+dy0 * 经
测试的浏览器:ie5+, firefox1.5+, opera8.5+
)Scmu,y0 */
51Testing软件测试网i+KZp,VH-XSmvar setInnerHTML = function (el, htmlCode) {
:r1qJYO%o4bfy0 var ua = navigator.userAgent.toLowerCase();
\6HG%~2Y8e qU0 if (ua.indexOf('msie') >= 0 && ua.indexOf('opera') < 0) {
51Testing软件测试网*V@ wE(v[_4W htmlCode = '<div style="display:none">for IE</div>' + htmlCode;
3zx^8Q1sd:z0 htmlCode = htmlCode.replace(/<scrīpt([^>]*)>/gi,
g$j%JBMrv;?0 '<scrīpt$1 defer="true">');
51Testing软件测试网/H!]%NA9B#wWr.m el.innerHTML = htmlCode;
51Testing软件测试网F9MG;qv9\U j el.removeChild(el.firstChild);
51Testing软件测试网Ci~l"ORG }
6~qKFHE'J0 else {
51Testing软件测试网$g(S5K@B3?T5CG var el_next = el.nextSibling;
51Testing软件测试网CZrc4AD.L!Kg var el_parent = el.parentNode;
Y-Vo1A4q-K5@b0 el_parent.removeChild(el);
51Testing软件测试网^/_qN;Y
i el.innerHTML = htmlCode;
!x
V1NB H/A7q9FKAl0 if (el_next) {
ch:MLqV$|K0 el_parent.insertBefore(el, el_next)
tt
zDd'?"Q*G0K6h0 } else {
7a3Y0z*eLK)~1C0 el_parent.appendChild(el);
51Testing软件测试网y Y/_;?8jq1C"HU*x }
#q H,q!G4r9~YK0 }
51Testing软件测试网FlP_,upq I}
还有某些情况,我们事先不清楚要插入到 innerHTML 的 HTML 代码包含什么,如果包含 document.write 语句,那么就会破坏整个页面。对于这种情况,可以通过重新定义 document.write 来避免。代码如下:
/*
/\8y xLrf;M%S0 * 描述:通过重定义 document.write 函数,避免在使用 setInnerHTML 时,51Testing软件测试网DX3h"z\FR%JS
* 插入的 HTML 代码中包含 document.write ,导致原页面受到破坏的情况。
rX'Di]VJV0 */51Testing软件测试网C_)Z$G3j
o)r
H9x
document.write = function() {
\7Pbv&[;le]0 var body = document.getElementsByTagName('body')[0];51Testing软件测试网
b#Lr:ud
aX
for (var i = 0; i < arguments.length; i++) {51Testing软件测试网t
oU dJg9_2|8m
argument = arguments[i];
Ua^.y]0 if (typeof argument == 'string') {
T9EPkj5h0 var el = body.appendChild(document.createElement('div'));51Testing软件测试网@byM
y^
LGA
setInnerHTML(el, argument)
]3N |3~t1M,K2{a#s0 }
-A&D"I!x:ZN0 }51Testing软件测试网0[z!Ajx2V(k6QL
}
相关阅读:
- SP和SQL Server中时间处理方法 (紫忧, 2007-4-16)
- 泛解析,二级域名转向问题- - (紫忧, 2007-4-26)
- 2007-03-08 | ASP简介【转】 (caicai1724, 2007-4-27)
- asp + sqlserver 分页方法(不用存储过程) (紫忧, 2007-5-08)
- ASP调用存储过程(转) (overn, 2007-5-11)
- asp调用视图和存储过程 (overn, 2007-5-13)
- 在asp中调用存储过程的几种方法 (紫忧, 2007-5-26)
- Jmail的主要参数列表 (转中国BS网) (紫忧, 2007-6-01)
- 分页存储过程 (紫忧, 2007-6-05)
- 分页代码 (紫忧, 2007-6-22)
收藏
举报
TAG:
ASP