2013-03-29 18 views
10

Có công cụ nào để quét mã Javascript của tôi cho các chức năng có thể không có trong tất cả các trình duyệt không?Quét Javascript để có khả năng tương thích với trình duyệt

Thư viện của tôi hoàn toàn không phải là giao diện người dùng, vì vậy tôi không quan tâm về cách hiển thị nội dung nào đó ". Những gì tôi đang tìm kiếm là một cái gì đó giống như trong Javascript MDN từ Mozilla. Ví dụ, đối với Array.prototype.indexOf, họ cảnh báo rằng nó là một bổ sung ECMAScript gần đây không có trong tất cả các trình duyệt (và thường cung cấp một sơ khai). Điều tôi đang tìm kiếm là một công cụ liệt kê các chức năng trong mã của tôi sẽ nằm trong danh mục này.

+0

Điều đó sẽ cực kỳ hữu ích. Được yêu thích. – techfoobar

+2

Bit khó khăn mặc dù, với một ngôn ngữ untyped. – Thilo

+0

[JSLint] (http://www.jslint.com/) sẽ đo lường chất lượng mã của bạn và cảnh báo bạn về những lỗi phổ biến, nhưng tôi không chắc nó sẽ thực hiện những gì sau của bạn. –

Trả lời

3

Không có công cụ như vậy và có a lot of browsers.

Tôi nghĩ rằng có một cách tiếp cận khác để quét mã của bạn để tương thích với "tất cả" trình duyệt, mặc dù điều này thực sự sẽ là một điều hữu ích. Hầu hết mọi người làm hai điều sau để đảm bảo mức độ tương thích giữa các trình duyệt.

Sử dụng thư viện

Bạn có thể sử dụng một thư viện như underscore.js, jQuery, Dojo, Modernizr, vv mà không tương thích trình duyệt bọc cho bạn. Vì vậy, bạn có thể sử dụng ví dụ jQuery.inArray, mà sẽ làm việc trong tất cả các trình duyệt mà jQuery bao gồm với một giao diện chung cho bạn sử dụng.

hỗ trợ Hạn chế trình duyệt

Quyết định trình duyệt bạn muốn hỗ trợ với ứng dụng của bạn, trạng thái này trên trang web của bạn, và sau đó thử nghiệm trong những trình duyệt này. Hoặc là tự nhiên nếu bạn có chúng, hoặc sử dụng một cái gì đó như browserstack để làm thử nghiệm cho các trình duyệt bạn không có. This answer cũng liệt kê nhiều lựa chọn thay thế hơn cho việc này.

Và cuối cùng, có các phương pháp hay nhất và kinh nghiệm cá nhân để dựa vào khi viết mã.

+0

tất nhiên tôi có thể giới hạn sự hỗ trợ, nhưng đặc biệt là đối với các thư viện không phải đồ họa mà có vẻ như là một lựa chọn tồi. Và như xa như thư viện đi, nếu tôi muốn xuất bản mã của riêng tôi (một thư viện), tôi sẽ phải thêm nó như là một phụ thuộc và nếu bằng cách nào đó có thể tôi muốn tránh điều đó. Ngoài ra họ thường đi kèm với nhiều hơn tôi cần và ngay cả khi họ hỗ trợ xây dựng tùy chỉnh, tôi vẫn phải tìm ra chính xác những gì nó là tôi cần. –

+0

Tất nhiên có thể tránh sự phụ thuộc vào thư viện. Sau đó bạn sẽ phải thực hiện lại công việc của họ một lần nữa/mã sao chép, mà imho là tồi tệ hơn một sự phụ thuộc vào một thư viện được duy trì tốt. Nhưng ngay cả khi bạn làm điều đó tôi khá chắc chắn rằng thư viện của bạn sẽ không hỗ trợ trình duyệt Mosaic hoặc một số trường hợp đặc biệt. – migg

+0

Nhưng như tôi đã nói, tôi vẫn phải tìm ra những chức năng chính xác mà tôi cần phải đề cập đến. Và vâng, tôi không hoàn toàn hạnh phúc khi tự mình điền vào bản thân vì nó là "bụi bẩn" đối với thư viện của riêng tôi. Nhưng nếu nó chỉ là Array.prototype.indexOf, tôi muốn tự thêm nó hơn là yêu cầu toàn bộ thư viện của bên thứ ba. Ngay cả chỉ vì mục đích thông tin, một công cụ thuộc loại tôi đang tìm kiếm sẽ rất thú vị đối với tôi. –

1

Cập nhật:

Để tốt hơn hoặc tệ hơn, trình kiểm tra không còn khả dụng nữa.


Đang tìm kiếm các câu hỏi tương tự (sau khi cặp vợ chồng này của năm), tôi tình cờ gặp trên Javascript Compatibility Checker.

Nó đã cho tôi một gợi ý về khả năng tương thích của tập lệnh của tôi với các trình duyệt chính.

+0

Cảm ơn! Thật không may là một thử nghiệm nhanh chóng bằng cách sử dụng ký hiệu mũi tên và các báo cáo tương tự như "không tìm thấy vấn đề", mà tôi thấy khó xảy ra. –

+0

@ IngoBürk Thật vậy, nó có ý thức về một khởi đầu mới nhưng nó có thể phát triển do đó. – raratiru

+0

@raratiru Liên kết bị hỏng. – crantok