2012-02-22 29 views
6

Tôi đã có một Spacetree JIT trên trang web của mình và IE không giống như một vài dòng. Nếu tôi mở các công cụ phát triển, và yêu cầu nó chạy qua chúng, nó sẽ rất tuyệt và tải mọi thứ theo ý muốn.Bỏ qua lỗi và tiếp tục chạy javascript trong IE?

Có cách nào tôi có thể làm cho nó chỉ cần nói "Bạn biết gì, những lỗi này không thực sự làm việc đối phó, chúng ta hãy tiếp tục đi đây"? Hai dòng thụt vào thêm là những người phạm tội, cũng như một cái gì đó trong jQuery 1.6.4 (sẽ được cố gắng 1.7.1) với một trong hai $ .getJSON hoặc $ .parseJSON

var style = label.style; 
     style.width = node.data.offsetWidth; 
     style.height = node.data.offsetHeight;    
    style.cursor = 'pointer'; 
    style.color = '#fff'; 
    style.fontSize = '0.8em'; 
    style.textAlign= 'center'; 
}, 
+3

viết bài thông báo lỗi đầy đủ bạn sẽ có được rất nhiều sẽ giúp chúng tôi để giúp bạn. –

+0

liên quan: http://stackoverflow.com/questions/12219154/ignore-javascript-errors-in-a-page-and-continue-executing-the-script –

Trả lời

8

quấn mã vi phạm trong một thử/nắm bắt và không làm bất cứ điều gì trong hoạt động đánh bắt.

+1

Tôi mới ở javascript, cảm ơn! – Rob

1

Quấn những mã vi phạm bên trong một khối try { } catch (e) {} và bạn sẽ được tốt để đi ..

MDN Reference for try..catch

Cái gì đó như dưới đây sẽ làm việc cho bạn,

var style = label.style; 
try { 
    style.width = node.data.offsetWidth; 
    style.height = node.data.offsetHeight;    
} catch (e) { 
    //do alternate when error 
} 
style.cursor = 'pointer'; 
style.color = '#fff'; 
style.fontSize = '0.8em'; 
style.textAlign= 'center'; 
3

IE là "dị ứng" trong việc xác định một đối tượng và để lại dấu phẩy ở thuộc tính cuối cùng.

Xấu:

var apple = { color : "yellow", 
       taste : "good", }; 

Tốt:

var apple = { color : "yellow", 
       taste : "good" }; 
+0

Tôi sẽ thử điều này, nhưng tôi khá chắc chắn đó là một cái gì đó với node.data.offsetWidth/Chiều cao, tất cả các dòng khác là okay và gói nó với try..catch làm việc. – Rob

+0

Vâng vâng, nó chỉ là một đoán vì tôi thấy rằng dấu phẩy trên đoạn của bạn. – p1100i

+0

đó là thông tin tốt, mặc dù. – Rob

2

Bạn có thể sử dụng một câu lệnh try catch.

var style = label.style; 

try 
{ 
    style.width = node.data.offsetWidth; 
    style.height = node.data.offsetHeight;    
} 
catch(err) { /* do nothing */ } 

style.cursor = 'pointer'; 
style.color = '#fff'; 
style.fontSize = '0.8em'; 
style.textAlign= 'center'; 
+0

MCHO TẤT CẢ! j/k :) –

0

Bạn có thể sử dụng thử ... bắt:

try{ 
    allert('hello'); //Syntax error 
}catch(err){ 
    console.log(err); 
} 
+0

điều này sẽ thất bại vì một lý do khác trong IE Kaii

0

Nếu bạn biết rằng mã của bạn có thể sẽ gặp phải một lỗi (vì lý do gì), bạn có thể bắt và xử lý các lỗi với một thử/catch:

try { 
    // Code that is likely to error 
} catch(e) { 
    // Handle the error here 
} 

Bạn không thể làm gì với lỗi hoặc cố gắng khôi phục ứng dụng của mình. Trong trường hợp này, bạn có lẽ nên cố gắng tìm hiểu lý do tại sao IE đang ném một lỗi ở nơi đầu tiên và xem bạn có thể tránh phải ngăn chặn các lỗi.

Đọc thêm:

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