2009-10-01 55 views
12

Tôi nhận được một lỗi script trong IE:Cần tìm vị trí thực tế của dòng/char trong các lỗi của Internet Explorer Script?

Line: 59 Char: 71 Lỗi: Dự kiến ​​nhận dạng, chuỗi, hoặc số Code: 0

Dòng 59, nhân vật 71 dường như không để thực sự tương ứng với mã của tôi. Nó thậm chí không nói những gì tập tin, nhưng tôi đã nhìn vào tập tin javascript chính của tôi, xem các nguồn trang, vv

Điều này đã xảy ra với tôi trước và tôi đã nhìn xung quanh cho đến khi tôi cuối cùng tìm thấy một lỗi với mã - thường là dấu phẩy - nhưng tôi thực sự muốn sử dụng một số trong số các dòng/số char này. Tôi đọc một lần rằng nó là một tham chiếu đến phiên bản nội bộ của trang mà IE đọc từ đó.

Có ai có thông tin về cách tìm hiểu những con số này thực sự có ý nghĩa gì và xem dòng mã gây ra sự cố không?

Đánh giá cao sự trợ giúp nào!

Trả lời

16

Tôi đã tìm thấy IE Line #/Char # 's là vô ích hoặc rắc rối hơn sau đó nó có giá trị.

Nếu bạn đang bao gồm nhiều tệp javascript và tất cả nó cung cấp cho bạn là một dòng # và char # có rất nhiều công việc để ghép tất cả các tập lệnh lại với nhau để tìm ra lỗi ở đâu.

Nếu tôi có thể tìm thấy lỗi trong firefox bằng firebug thì đó là cách dễ nhất. Nếu nó là một chỉ IE vấn đề gì tôi làm là cho phép script debugging trong Internet Options,

  1. Đến Tools-> Internet Options ... -> Advanced-> Disable Script Debugging (Internet Explorer)
  2. Go vào Tools -> Tùy chọn Internet… -> Nâng cao-> Tắt gỡ lỗi tập lệnh (Khác)

    sau đó đính kèm Trình gỡ lỗi Visual Studio khi xảy ra lỗi.

Nếu bạn đang sử dụng IE 8, hãy cài đặt developer toolbar vì nó có trình gỡ lỗi tích hợp sẵn.

Nếu bạn thực sự muốn không sử dụng trình gỡ lỗi và chỉ xem nguồn và nhận được dòng # bạn có thể thử Xem -> Nguồn gốc trong thanh công cụ Developper của IE.

Trong trường hợp của bạn, bạn gotta xem ra cho trailing của dấu phẩy trong đối tượng trực

var obj = { 
a: 1, 
b: 2, 
} 

Hoặc đặt tên một biến với một từ khóa dành riêng như "lớp học", đã đốt cháy tôi nhiều lần. Dưới đây là danh sách các số reserved keywords

+0

Cảm ơn bạn đã có các mẹo hay về Gỡ lỗi gỡ lỗi tập lệnh trên IE. Firebug trong FF là tuyệt vời, nhưng tôi luôn thấy khó chịu khi làm việc với các lỗi chỉ của IE. Vì vậy, về mặt lý thuyết, ghép các tệp javascript với nhau (theo thứ tự chúng được thêm vào phần đầu của html) sẽ hiển thị số dòng có thể sử dụng trong IE? – croixhaug

+0

câu trả lời tuyệt vời với một số mẹo chính. – jini

+0

Dường như ngay cả với trình sửa lỗi IE (8), việc nhấp vào thông báo lỗi không đưa con trỏ đến vị trí của lỗi. Nó chắc chắn không mang nó đến dòng/char được chỉ định, và nó cũng không mang nó đến bất cứ thứ gì có ý nghĩa gì cả. –

0

Trình duyệt khác nhau về xác định số dòng và do đó không báo cáo đúng số dòng đã xảy ra lỗi liên quan đến mã nguồn. Internet Explorer, ví dụ, báo cáo số dòng liên quan đến việc hiển thị nội bộ của riêng trình duyệt nguồn tài liệu, có thể hoặc không khớp với tệp nguồn. Firefox báo cáo vị trí của lỗi đáng tin cậy hơn, báo cáo tệp tập lệnh xảy ra lỗi khi áp dụng.

Số dòng có thể giúp bạn xác định vị trí chung trong tập lệnh nơi mọi thứ trở nên tồi tệ.Bạn có thể sao chép nguồn tài liệu và dán nó vào một trình soạn thảo văn bản cung cấp đánh số dòng, chẳng hạn như Textpad. Ngoài ra, bạn có thể đặt Trình chỉnh sửa HTML mặc định trên tab Chương trình của hộp thoại Tùy chọn Internet

+3

"Trình duyệt không báo cáo đúng dòng chính xác". cụ thể là Internet Explorer. – recursive

+0

Không, tôi cũng gặp vấn đề như thế này trong Firefox. Bạn chỉ cần mã javascript javascript rất nhiều để lưu ý điều này. Dường như nó chủ yếu xảy ra do thử/bắt. – Christian

3

Tôi khuyên bạn nên thử cùng một trang trong IE8, nếu bạn chưa làm như vậy. Nếu lỗi không xảy ra, hãy thử chuyển IE8 sang Chế độ xem tương thích.

Nếu bạn gặp phải lỗi xảy ra, thì Công cụ nhà phát triển được tích hợp sẵn rất tốt trong việc tìm chính xác nơi xảy ra sự cố trong Javascript.

0

Tại sao, hãy sử dụng IE7 hoặc IE8 với công cụ dành cho nhà phát triển web. Và khi bạn có một lỗi JS nó sẽ hỏi bạn nếu bạn muốn gỡ lỗi này, bạn sẽ nói "có, tôi muốn" và nó sẽ mở một trình sửa lỗi tốt đẹp, chính xác trên dòng có vấn đề.
Đáng buồn thay, tôi đang sử dụng Linux và không thể cung cấp cho bạn màn hình in để chỉ cho bạn cách bật tính năng này.

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