変換関数(myjs.jsで定義)が常に実行されるようにするにはどうすればよいですか?myjs.jsが読み込まれる前に呼び出されるため、失敗する可能性があるシナリオはありますか?
<body>
<script type='text/javascript'>
$(function(){
//call a function within myjs.js
$("#id").conversion({
settings : url
});
});
</script>
/*loading myjs.js asynchronously*/
<script type='text/javascript'>
(function(){
var a = document.createElement('script');
a.type = 'text/javascript';
a.async = true;
a.src = 'http://mydomain/myjs.js';
var b = document.getElementsByTagName('script')[0];
b.parentNode.insertBefore(a, b);
})();
</script>
</body>
これは、変換関数が常に呼び出されるようにする正しい方法ですか?
$.ajax({
url: 'http://mydomain/myjs.js',
dataType: 'script',
cache: true, // otherwise will get fresh copy every page load
success: function() {
// script loaded, do stuff!
$("#id").conversion({
settings : url
});
}
}