2011-06-29 4 views
6

Có một số công cụ có thể kiểm tra cú pháp các tệp JavaScript của tôi để xem chúng có chứa lỗi cú pháp làm phiền công cụ Javascript của Internet Explorer, đặc biệt là dấu phẩy quá mức không?Kiểm tra cú pháp javascript cho Internet Explorer

Ví dụ:

var some_object = { 
    valid : "property", 
    one : "comma too much ---> ", 
}; 

Mã này hoạt động tốt trong FireFox, Chrome và Node.js nhưng thất bại trong IE vì dấu phẩy dấu. Trình gỡ lỗi tích hợp của IE hiếm khi được trợ giúp vì nó không tạo ra lỗi/cảnh báo hữu ích cho các ứng dụng web lớn như chúng ta có (nhiều tệp JavaScript kết hợp với nhau tổng cộng lên tới 50-100 k dòng mã).

JSLint không giúp vì nó báo cáo một số lượng lớn cảnh báo khác hoặc dừng lại ở một số lỗi vô nghĩa.

Một ý tưởng có thể sử dụng eval() trực tiếp trong IE và nắm bắt ngoại lệ SyntaxError nhưng tôi không thể thực hiện điều này một cách tự động (ví dụ: trên dòng lệnh).

Thật không may Node.JS không bận tâm về dấu phẩy.

Không có công cụ Linux/Windows nào xung quanh có thể thực hiện kiểm tra cú pháp JavaScript cơ bản cho một tệp?

+0

Dấu gạch chéo sau là gì? Tôi không thấy một trong ví dụ của bạn. Bạn có nghĩa là "dấu phẩy sau"? –

+0

xin lỗi, đó là một lỗi đánh máy –

Trả lời

4

Bạn cũng có thể thử http://www.javascriptlint.com/. Sau khi cài đặt, bạn có thể chỉnh sửa jsl.default.conf để đặt cảnh báo được báo cáo.

jsl -process file.js

+0

hoàn hảo! cảm ơn :) –

+0

Điều này đã giúp tôi quá, Nó đã được yêu cầu rằng nó làm việc trên ie7 và một lỗi nhỏ đã được chứng minh rất nhiều vấn đề, nhờ jsl – relipse

-2

JavaScript Formatter của chúng tôi sẽ in mã JavaScript của bạn. Nó sử dụng một trình phân tích cú pháp JavaScript đầy đủ để làm như vậy. Nó báo cáo lỗi cú pháp khi nó phân tích cú pháp. Các cửa sổ.

+0

7 năm và điều này có được downvotes. Liệu downvoter có giải thích cách điều này không giải quyết chính xác vấn đề đặt ra? –

+0

Câu trả lời của bạn không rõ ràng, giải pháp của bạn tiêu tốn tiền, nó chỉ hoạt động trên Windows và không có tài liệu trên trang web của bạn chỉ định xem kiểm tra tính đúng đắn của nó có đáp ứng được các nhu cầu của OP hay không. Cụ thể, cho dù nó có thể xử lý * linting trình duyệt cụ thể *. Trang web của bạn thậm chí không nói những gì JS động cơ nó xác nhận chống lại. –