Tôi đang tải một vài mã YUI động trong mã của tôi theo yêu cầu Ajax. DOM và trang được tải đầy đủ khi yêu cầu được đưa ra - đó là phản hồi cho sự kiện của người dùng.Tải tập lệnh động
Tôi thêm thẻ vào đầu, dưới dạng con. Nhưng tôi tình cờ gặp một vài vấn đề:
Tôi thêm hai tập lệnh YUI được lưu trữ tại Yahoo! CDN và một kịch bản nội tuyến của riêng tôi chịu trách nhiệm tạo đối tượng, thêm trình xử lý sự kiện và hiển thị các tiện ích YUI. Nhưng tôi khi kịch bản của tôi chạy các kịch bản YUI không được tải nhưng cho tôi lỗi và không chạy như tôi mong đợi.
Có cách để chỉ chạy tập lệnh của tôi (hoặc xác định một hàm sẽ chạy) khi mã YUI được tải đầy đủ?
Lệnh 'typeof' operator * luôn * trả về một chuỗi, việc kiểm tra nên được' if (typeof YUI_NAMESPACED_THING! = "Undefined") // ... ' – CMS
Đây là sai cách để đi về nó. Thứ nhất, bạn có thể nghĩ đến setInterval hoặc setTimeout chuỗi, vì một setTimeout đơn lẻ sẽ là A) trì hoãn thực thi quá lâu gây ra thời gian thiết lập trang không cần thiết, hoặc B) thất bại trong điều kiện chủng tộc được tạo ra bằng cách giả sử các script sẽ được nạp trong một thời gian nhất định. Thứ gì đó dựa trên giải pháp onload/onreadystatechange thì tốt hơn. – Luke
@Luke Tôi đã nghĩ đến chuỗi setTimeout bị xích. Nhưng có, tôi đồng ý rằng onload/onreadystatechange là một giải pháp tốt hơn. Tôi biết rằng onload không hoạt động một mình và không biết có một giải pháp trình duyệt chéo trên con hẻm đó. Tôi đã upvoted câu trả lời của digitalFresh –