如何確保轉換函數(在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
});
}
}
該代碼將導致在加載頁面上的所有資源後調用async_load。我想那麼我的函數將執行這個腳本加載之前 - 仍然存在的問題? – neelmeg
您在attachEvent完成後調用您的函數。 –
我如何做到這一點的任何例子? – neelmeg