20
PhoneGapとjQuery Mobileを使用してアプリケーションを開発しています。
ページがロードされたら、script(.js file)
をロードします。基本的にはonDeviceReady
または$(document).ready()
です。どうやってするか?
PhoneGapとjQuery Mobileを使用してアプリケーションを開発しています。
ページがロードされたら、script(.js file)
をロードします。基本的にはonDeviceReady
または$(document).ready()
です。どうやってするか?
//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
この2番目のコードスニペットは、非同期的にDOMにスクリプトを追加するために使用グーグルアナリティックコードを少し変更したバージョンです。
UPDATE
またtrue
へ<script>
タグのdefer
属性を設定することができ、それはDOMが準備された後まで実行されません。 https://developer.mozilla.org/en-US/docs/HTML/Element/Script
ありがとうJasper.Answer is Precise ...:D –
私も、IE8が最新の情報に壊れていた問題を経験していました。 $(document).ready()コールを使用することは、私のためにそれを修正したものです。答えのためのThx! – PhilNicholas
注意:getScriptは非同期であるため、呼び出されたスクリプト内で宣言された関数を呼び出すと、「未定義」エラーが発生する可能性があります。参照してください:http://stackoverflow.com/questions/1130921/is-the-callback-on-jquerys-getscript-unreliable-or-am-i-doing-something-wrong – Costa