2012-05-08 63 views
7

tôi cần phải hiểu khi nào một onload cơ thể được gọiKhi nào thì một body onLoad được gọi?

Tôi đọc trong w3school rằng onload=Script to be run when a document load điều này có nghĩa là gì?

Liệu nó có nghĩa rằng

  1. html/jsp trang được nạp trước khi hoàn trả bất kỳ yếu tố trong cơ thể giống như bất kỳ table hay jsp scriplets ví dụ: <%= request.getParameter("NAME") %>
  2. Hoặc là nó sau trang/body được render ?

ví dụ: tôi có một loạt các params (<%= request.getParameter("NAME") %>,...) như vậy để sử dụng chúng tôi sẽ đặt chúng trong một số hình thức ẩn mục & sau đó trên cơ thể tải tôi có thể sử dụng chúng?

+4

w3schools là một tài nguyên không tốt: http://w3fools.com. Mặc dù có thể không quan trọng trong trường hợp này, tốt hơn hãy sử dụng một tham chiếu thích hợp như [MDN] của mozilla (https://developer.mozilla.org/) – ThiefMaster

+0

@ThiefMaster: Công việc của tôi hầu như liên quan đến Internet Explorer 8, vẫn ổn để tham khảo [MDN] (https://developer.mozilla.org/)? – Ricky

+1

Thông thường, nó đề cập đến việc các trình duyệt khác có sự khác biệt quan trọng hay không. Nhưng để chắc chắn tôi sẽ kiểm tra MSDN trong trường hợp này vì đó là nguồn tài nguyên chính thức cho IE. – ThiefMaster

Trả lời

11

Không giống như w3schools, MDN explains when the event is fired:

kiện cháy

Các tải ở phần cuối của quá trình tải tài liệu. Tại thời điểm này, tất cả các đối tượng trong tài liệu nằm trong DOM, và tất cả các hình ảnh và khung phụ đã tải xong.

Vì vậy, cây DOM sẵn sàng tất cả các phần tử đã được tải.

+0

Để @Sjoerd & ThiefMaster: Sjoerd nói 'Document.onload có thể được kích hoạt trước khi trang được hiển thị hoặc hình ảnh được tải.' và bạn nói' tất cả các đối tượng trong tài liệu nằm trong DOM, và tất cả các hình ảnh và phụ khung đã tải xong.' cái nào là đúng? – Ricky

+0

@Ricky - Câu trả lời thực sự trích dẫn tài nguyên được liên kết là đúng. :) – Quentin

+0

Điều gì về các đối tượng được thêm sau khi trang bắt đầu tải?Ví dụ, giả sử trong thẻ head, tôi có một kịch bản tạo ra một thẻ script mới với một url bên ngoài (mà nó tính toán) và thêm nó vào đầu. Tôi có bảo đảm rằng tập lệnh sẽ luôn được tải trước khi các vụ cháy tải lên như tôi có phải mã hóa cứng không? – Michael

-1

onload event được kích hoạt khi cây DOM sẵn sàng. Điều này có nghĩa là tất cả các yếu tố trên trang của bạn đều có sẵn cho tập lệnh. Document.onload có thể được kích hoạt trước khi trang được hiển thị hoặc hình ảnh được tải.

+0

Sự kiện window.onload (sự kiện bạn đã liên kết) kích hoạt sau khi các khung hình ảnh vv đã tải. –

0

Thực thi tải khi DOM được tải đầy đủ. Điều này có nghĩa là nó được thực hiện sau khi kết thúc trang của bạn. Điều này rất hữu ích khi bạn muốn thực hiện một số tác vụ khi tài liệu được kết nối hoàn toàn.

Bạn có thể làm điều này bằng nhiều cách nhưng vài cách là đây

<body onload="YOUR ACTION"> 

cũng tương tự như

<script type="text/javascript> 
window.onload=function(){ 
    //YOUR ACTION 
} 
</script> 
+1

Nó không kích hoạt ngay khi DOM được tải. Nó chờ đợi một số thứ khác (ví dụ: hình ảnh để tải). – Quentin

2

Sự kiện onLoad là bắn sau khi hoàn thành thành công của cây dom, ví dụ tải thành công tất cả các phần tử bên trong cơ thể.

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