Tôi gặp sự cố tương tự với cùng lỗi, nhưng dòng mã đầu tiên của tôi là alert(0);
mà tôi đã chèn để đảm bảo tập lệnh đã được tải! Điều thú vị là, tập lệnh là được tải theo công cụ dành cho nhà phát triển của IE9, nhưng dòng đầu tiên chưa bao giờ được thực hiện và lỗi được chỉ ra là alert(0);
làm bản sao kê này. Tôi thậm chí còn chèn các dòng và dấu cách trước nó và số dòng và ký tự thay đổi tương ứng. Tuy nhiên, điều này (rõ ràng) không phải là điều được redeclared bởi vì nó thậm chí không phải là một tuyên bố, hãy để một mình một redeclaration!
Tôi đã xóa khối từ ngày kết thúc của kịch bản cho đến khi nó thực hiện các alert(0);
(chỉ ra rằng kịch bản đã được nạp và được phân tách thành công), và tôi phát hiện ra rằng dòng vi phạm là:
var screen;
Hóa ra IE9 đã có số window.screen
mà tuyên bố này đã va chạm và đổi tên số screen
thành eScreen
của mình đã khắc phục được sự cố.
Vì vậy, câu trả lời của tôi là: không tin tưởng chỉ thị của IE9 về vị trí đặt lại!
(Cũng đáng lưu ý rằng tập lệnh chạy tốt ở dạng ban đầu của nó trên IE7, IE8 và IE10, không chỉ trên IE9.)
Nguồn
2013-06-07 12:07:16
Trình duyệt nào hoặc công cụ Javascript khác? Bạn thấy lỗi này ở đâu? SCRPT5039 là gì? –
điều này nói rằng bạn đã tuyên bố trước đó, hãy kiểm tra lại .. – amosrivera
Chỉ vì đó là dòng đầu tiên trong tập lệnh _that_ không quan trọng nếu có các tập lệnh khác được tải trước đó. –