目前网站之间相互调用的情况越来越多,比如 需要调用某个第三方提供的一些接口(天气预报),或者是第三方提供的广告......
但是出于各种原因(网络故障、服务器故障、软件故障......)常常会发生第三方的相应页面不能访问的情况,而直接导致自己网站不能正常访问,或者访问速度比较慢。
比如:某个网站为 头、内容、底 结构,在网站的头部放置了第三方提供的广告,但是出于某种原因,第三方的服务不能正常访问了,直接导致的情况就是,整个网站 头部广告 以下的部分均不能正常访问(或者要过很久以后才能打开,昨天的台湾大地震,导致了 Google Adsense 不能正常访问,直接导致了我的个人网站 http://www.oldtool.net 不能正常打开。)。
为了解决如上的问题,查阅了很多文章后,找到如下的解决方案:页面的延时加载(Page Delay Load)。
在 IE 中,几乎每个对象(div iframe td ... )均有一个属性 readyState(http://msdn2.microsoft.com/en-us/library/ms534358.aspx) ,此属性反应对象在当前页面的载入状态,当该对象完全载入以后,则当前对象的 readyState== "complete " ,借助该属性,可以控制待当前页面最期待的内容载入完成以后,再载入有可能出错的页面(或者是优先级不高的页面)。
详细代码如下:
问题页面代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN " "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns= "http://www.w3.org/1999/xhtml " >
<head>
<title> 精巧软件 www.oldtool.net </title>
</head>
<body>
<div> 这里是页面的最顶端内容。 </div>
<div> 如下的 div1 div2 div3 div4 可以放置任何第三方的内容,比如广告。 </div>
<div id= "div1 " style= "width:200px;height:40px;border:1px solid red; "> inner html 1 </div>
<div> 说明:此处的 宽、高,不一定需要提前设置,可以将此 Container 的宽、高根据内部的内容自适应。 </div>
<div id= "div2 " style= "width:200px;height:40px;border:1px solid red; "> inner html 2 </div>
<div> 说明:div3中的内容不能正常访问,直接导致其下最重要的内容不能正常打开,或者要过很久以后才可以正常打开。 </div>
<div id= "div3 " style= "width:200px;height:40px;border:1px solid red; ">
<!-- Google Adsense -->
<script type= "text/javascript "> <!--
google_ad_client = "pub-wrongcode ";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as ";
google_ad_type = "text_image ";
google_ad_channel = " ";
//--> </script>
<script type= "text/javascript " src= "http://wrongcode.wrongcode.com/pagead/wrongcode.js ">
</script>
<!-- Google Adsense -->
</div>
<div id= "div4 " style= "width:200px;height:40px;border:1px solid red; "> inner html 4 </div>
<div> 这里是页面最重要的内容,您每次打开该页面,均希望该部分内容无论如何可以正常显示。 </div>
<div> 这里是页面的最底端 </div>
</body>
</html>
修复页面代码:
但是出于各种原因(网络故障、服务器故障、软件故障......)常常会发生第三方的相应页面不能访问的情况,而直接导致自己网站不能正常访问,或者访问速度比较慢。
比如:某个网站为 头、内容、底 结构,在网站的头部放置了第三方提供的广告,但是出于某种原因,第三方的服务不能正常访问了,直接导致的情况就是,整个网站 头部广告 以下的部分均不能正常访问(或者要过很久以后才能打开,昨天的台湾大地震,导致了 Google Adsense 不能正常访问,直接导致了我的个人网站 http://www.oldtool.net 不能正常打开。)。
为了解决如上的问题,查阅了很多文章后,找到如下的解决方案:页面的延时加载(Page Delay Load)。
在 IE 中,几乎每个对象(div iframe td ... )均有一个属性 readyState(http://msdn2.microsoft.com/en-us/library/ms534358.aspx) ,此属性反应对象在当前页面的载入状态,当该对象完全载入以后,则当前对象的 readyState== "complete " ,借助该属性,可以控制待当前页面最期待的内容载入完成以后,再载入有可能出错的页面(或者是优先级不高的页面)。
详细代码如下:
问题页面代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN " "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns= "http://www.w3.org/1999/xhtml " >
<head>
<title> 精巧软件 www.oldtool.net </title>
</head>
<body>
<div> 这里是页面的最顶端内容。 </div>
<div> 如下的 div1 div2 div3 div4 可以放置任何第三方的内容,比如广告。 </div>
<div id= "div1 " style= "width:200px;height:40px;border:1px solid red; "> inner html 1 </div>
<div> 说明:此处的 宽、高,不一定需要提前设置,可以将此 Container 的宽、高根据内部的内容自适应。 </div>
<div id= "div2 " style= "width:200px;height:40px;border:1px solid red; "> inner html 2 </div>
<div> 说明:div3中的内容不能正常访问,直接导致其下最重要的内容不能正常打开,或者要过很久以后才可以正常打开。 </div>
<div id= "div3 " style= "width:200px;height:40px;border:1px solid red; ">
<!-- Google Adsense -->
<script type= "text/javascript "> <!--
google_ad_client = "pub-wrongcode ";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as ";
google_ad_type = "text_image ";
google_ad_channel = " ";
//--> </script>
<script type= "text/javascript " src= "http://wrongcode.wrongcode.com/pagead/wrongcode.js ">
</script>
<!-- Google Adsense -->
</div>
<div id= "div4 " style= "width:200px;height:40px;border:1px solid red; "> inner html 4 </div>
<div> 这里是页面最重要的内容,您每次打开该页面,均希望该部分内容无论如何可以正常显示。 </div>
<div> 这里是页面的最底端 </div>
</body>
</html>
修复页面代码: