微软Callback中的一个Bug
今天使用微软的CallBack做控件,遇到一个奇怪的错误,调试后才发现是微软Javascript代码中的一个小Bug。
给大家提个醒。
1function WebForm_CallbackComplete() {
2 for (i = 0; i < __pendingCallbacks.length; i++) {
3 callbackObject = __pendingCallbacks[i];
4 if (callbackObject && callbackObject.xmlRequest && (callbackObject.xmlRequest.readyState == 4)) {
5 WebForm_ExecuteCallback(callbackObject);
6 if (!__pendingCallbacks[i].async) {
7 __synchronousCallBackIndex = -1;
8 }
9 __pendingCallbacks[i] = null;
10 var callbackFrameID = "__CALLBACKFRAME" + i;
11 var xmlRequestFrame = document.getElementById(callbackFrameID);
12 if (xmlRequestFrame) {
13 xmlRequestFrame.parentNode.removeChild(xmlRequestFrame);
14 }
15 }
16 }
17}
注意其中的变量i,没有使用var 定义。如果在你的Javascript中也使用了 没有使用var定义的变量i,那就一定会出错了。呵呵。2 for (i = 0; i < __pendingCallbacks.length; i++) {
3 callbackObject = __pendingCallbacks[i];
4 if (callbackObject && callbackObject.xmlRequest && (callbackObject.xmlRequest.readyState == 4)) {
5 WebForm_ExecuteCallback(callbackObject);
6 if (!__pendingCallbacks[i].async) {
7 __synchronousCallBackIndex = -1;
8 }
9 __pendingCallbacks[i] = null;
10 var callbackFrameID = "__CALLBACKFRAME" + i;
11 var xmlRequestFrame = document.getElementById(callbackFrameID);
12 if (xmlRequestFrame) {
13 xmlRequestFrame.parentNode.removeChild(xmlRequestFrame);
14 }
15 }
16 }
17}
给大家提个醒。
posted on 2006-11-03 14:12 sherwinzhu 阅读(475) 评论(0) 编辑 收藏 举报