2011-02-10 26 views
11

Tôi đang sử dụng IE9 beta với mã thử nghiệm bên dưới và tôi gặp phải lỗi 80020102 khi vbscript cố gắng nối thêm vào mảng. Nếu tôi chạy điều này trong chế độ quirks nó có vẻ làm việc.Lỗi IE2 80020102, sử dụng vbscript Giữ nguyên từ khóa với doctype nghiêm ngặt

Không biết đây có phải là vấn đề về MS hay không, tôi đã gửi nó tới kho dữ liệu của IE9. Có ai có một gợi ý về một công việc xung quanh?

Tôi muốn đăng toàn bộ html, nhưng nó luôn có vẻ không đúng định dạng trong bản xem trước.

-- VBscript part ---  
Function getBlankArray() 
    getBlankArray = Array() 
End Function 

Function appendArray(arr, val) 
    redim preserve arr(ubound(arr) + 1) 
    arr(ubound(arr)) = val 
    appendArray = arr 
End Function 

-- javascript part --- 
function test() 
{ 
    var contextKeysArray = getBlankArray(); 
     var jscontextKeysArray = new Array(); 
    for(var x=0; x < 10; x++) 
    { 

     jscontextKeysArray[x] = x; 

    } 

    for(i = 0; i < jscontextKeysArray.length; i++) 
    { 
      contextKeysArray = (appendArray(contextKeysArray, jscontextKeysArray[i])); 
    } 

} 
+0

Đọc qua http://stackoverflow.com/editing-help để biết các vấn đề về định dạng. –

+0

Tại sao bạn trộn mã JS và VBScript ??? Dính vào mã JS là IMHO tốt hơn. Trong JS, bạn có thể gọi phương thức Array.push (val) thay vì hàm appendArray VBScript (arr, val) xấu xí này. – CedX

+1

không có lỗi trong IE8 ở chế độ nghiêm ngặt vì vậy thực sự là một vấn đề IE9 tôi đồng ý với Cédric, cả hai ngôn ngữ đều có giá trị của chúng, nhưng trong mảng Javascript chắc chắn là tốt hơn – peter

Trả lời

0

Bạn đã thử sử dụng chế độ tương thích chưa?

<meta http-equiv="X-UA-Compatible" content="IE=8; IE=7; IE=5" > 

http://msdn.microsoft.com/en-us/library/cc288325%28v=vs.85%29.aspx

Tôi cũng đồng ý với ý kiến ​​rằng nếu bạn có thể thoát khỏi VBScript và sử dụng một giải pháp javascript duy nhất bạn sẽ được tốt hơn.

0

Dưới đây là mã của bạn dọn dẹp từ VBScript:

function test() { 
    var contextKeysArray = [], jscontextKeysArray = []; 
    for (var x = 0; x < 10; x++) { 
     jscontextKeysArray[x] = x; 
    } 

    for (var i = 0; i < jscontextKeysArray.length; i++) { 
     contextKeysArray.push(jscontextKeysArray[i]); 
    } 
} 
1

chỉ cố gắng thêm dòng này ở đầu trang nếu bạn sử dụng trang html.

<! DOCTYPE html > 
+0

Một chút muộn cho bên với câu trả lời này - câu hỏi là hỏi về IE9 beta , đó là một thời gian trong quá khứ. Từ câu hỏi, anh ta cũng có vẻ ý thức về chế độ quirks và làm thế nào để kích hoạt nó hay không. – Spudley

Các vấn đề liên quan