Tôi đang gặp sự cố thực sự với phạm vi JavaScript trong IE 9.IE ném Lỗi JavaScript: Giá trị của thuộc tính 'googleMapsQuery' là null hoặc không xác định, không phải là đối tượng Hàm (hoạt động trong các trình duyệt khác)
là bên trong cơ thể của tài liệu của tôi (có, tôi nhận ra kịch bản nên đi vào đầu cho HTML thích hợp, nhưng tôi đã không bao giờ có nó phá vỡ một kịch bản trước). Kịch bản là trong cơ thể bởi vì tôi không muốn gây rối với một trang tiêu đề chia sẻ cho một kịch bản mà chỉ phù hợp cho trang này:
<script type="text/javascript">
function googleMapsQuery(accountNum) {
// function code is here (omitted for brevity)
}
</script>
Đây là bên trong một khối td
bên trong một khối tr
bên trong một tbody
chặn bên trong một khối table
bên trong một khối form
bên trong body
:
<button id="google-422111" onclick="googleMapsQuery(422111)" type="button">Google This!</button>
tôi thậm chí di chuyển các khối kịch bản trên hình thức chỉ trong trường hợp thứ tự của các khai báo hàm kịch bản là có liên quan (nó không phải).
Các kịch bản hoạt động hoàn hảo trong FireFox và Chrome, nhưng trong IE 9 (có hoặc không có quan điểm tương thích trên), tôi nhận được lỗi này:
SCRIPT5007: The value of the property 'googleMapsQuery' is null or undefined, not a Function object
tôi đã nghiên cứu phạm vi JavaScript, và tôi không thể tìm ra lý do nào đó tại sao IE cho rằng 'googleMapsQuery' là thuộc tính và tại sao nó không được xác định. Đó là một chức năng, và tôi đã định nghĩa nó!
nội dung là một nơi hoàn hảo cho kịch bản, ở dưới cùng của cơ thể thực sự được ưa thích :) –
Thẻ tập lệnh trong HEAD được xử lý đồng bộ (serially) trước khi xử lý nội dung. Các thẻ tập lệnh trong nội dung được tải không đồng bộ, cùng với các tập lệnh khác và các nút DOM còn lại ... Tôi không sử dụng thẻ