Tôi đang phát triển một ứng dụng bằng PhoneGap và jQuery Mobile.
Bây giờ khi trang được tải thì tôi muốn tải script(.js file)
. Về cơ bản là onDeviceReady
hoặc $(document).ready()
. Làm thế nào để làm điều đó?
Tôi đang phát triển một ứng dụng bằng PhoneGap và jQuery Mobile.
Bây giờ khi trang được tải thì tôi muốn tải script(.js file)
. Về cơ bản là onDeviceReady
hoặc $(document).ready()
. Làm thế nào để làm điều đó?
//wait for document.ready to fire
$(function() {
//then load the JavaScript file
$.getScript('script.js');
});
http://api.jquery.com/jquery.getscript
//create a callback function
function myCallback() {
//create a script element and set it's type and async attributes
var script = document.createElement('script'); script.type = 'text/javascript'; script.async = true;
//set the source of the script element
script.src = 'script.js';
//add the script element to the DOM
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(script, s);
}
//add event listener for the deviceready function to run our callback function
document.addEventListener("deviceready", myCallback, false);
http://docs.phonegap.com/en/1.4.1/phonegap_events_events.md.html#deviceready
đoạn mã thứ hai này là một phiên bản sửa đổi nhẹ của mã Google Analytic, được sử dụng để thêm một kịch bản để DOM không đồng bộ.
CẬP NHẬT
Bạn cũng có thể thiết lập các thuộc tính của defer
thẻ <script>
để true
và nó sẽ không được thực hiện cho đến sau khi DOM đã được chuẩn bị. Xem một số tài liệu tại đây: https://developer.mozilla.org/en-US/docs/HTML/Element/Script
Cảm ơn Jasper.Answer là chính xác ...: D –
Tôi cũng đang gặp phải sự cố khi IE8 đang bẻ khóa khi làm mới. Sử dụng $ (tài liệu) .ready() gọi là những gì cố định nó cho tôi. Thx cho câu trả lời! – PhilNicholas
NB: getScript là không đồng bộ nên việc gọi hàm được khai báo trong tập lệnh được gọi có thể dẫn đến lỗi "không xác định". Xem: http://stackoverflow.com/questions/1130921/is-the-callback-on-jquerys-getscript-unreliable-or-am-i-doing-something-wrong – Costa