2014-04-06 20 views
5

Ứng dụng của tôi bao gồm Modernizr (ghép nối với prefixfree) ngay trước thẻ đóng <head> và phần còn lại của js ngay trước thẻ đóng <body>. 99,9% thời gian hoạt động tốt, nhưng đôi khi tôi nhận được Modernizr is not defined."Modernizr không được xác định"

Mã gây ra lỗi là:

if(!Modernizr.csscalc) { 
    // do stuff 
} 

Lỗi này xảy ra trên các khách hàng thực tế (tôi nhận được thông báo bằng email), vì vậy tôi không có nhiều dữ liệu hơn chuỗi lỗi này. Tôi cũng không thể tái tạo nó, ngay cả trên cùng một hệ điều hành và trình duyệt.

Tôi không có đầu mối cho những gì có thể là nguyên nhân của lỗi lẻ tẻ này. Bạn có thể vui lòng chỉ đạo tôi không? Tôi có làm gì sai ở đây không?

+2

Kết nối tải tệp modenizer có thể hết thời gian chờ. Vì bạn chưa thực sự hiển thị bất kỳ mã nào của mình, bạn không thể nói nếu bạn làm điều gì đó sai hay không. Ví dụ bạn đã đăng nó chắc chắn là hợp lệ và sẽ chạy giả định rằng 'Modernizr' được định nghĩa (và không phải là' null'). Vì dường như nó hoạt động trong hầu hết các trường hợp, tôi đoán mã của bạn là chính xác. –

+0

@FelixKling Điểm tốt về thời gian chờ! Tôi đã không nghĩ về nó, và nó phù hợp với trường hợp của tôi .. Tôi sẽ xử lý này trong mã của tôi và xem nếu lỗi xảy ra một lần nữa. Cảm ơn bạn! – Tzach

Trả lời

1

Có thể có một số lý do khác nhau tại sao điều này xảy ra.

Như Felix đã đề cập, bản thân tệp có thể chưa được tải (bạn cũng nên có thời gian chờ tệp được theo dõi trên thiết lập phân tích của mình, nếu bạn chưa có).

Một khả năng khác là bản thân Modernizr gặp sự cố và đã ném một lỗi do sự cố với một trình duyệt cụ thể (có thể dễ dàng thực hiện với các phiên bản cũ hơn và cắt cạnh của nó). Điều đầu tiên là đảm bảo bạn đang chạy phiên bản cập nhật nhất của thư viện, thứ hai sẽ báo cáo bất kỳ mẫu nào bạn nhìn thấy ở phía trên tới Modernizr's github page.

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