我在head
標籤使用:加載外部JavaScript文件後的onload()
<script src="js/lightbox.js"></script>
是否有可能去除這一關標頭和onload()
加載此文件?
<body onload="...">...</body>
注意:這不是一個函數,它是一個具有多個函數的外部js文件。
謝謝!
我在head
標籤使用:加載外部JavaScript文件後的onload()
<script src="js/lightbox.js"></script>
是否有可能去除這一關標頭和onload()
加載此文件?
<body onload="...">...</body>
注意:這不是一個函數,它是一個具有多個函數的外部js文件。
謝謝!
onload="blabla();"
function blabla()
{
$.getScript('url to your js file', function(data, textStatus, jqxhr) {
// do some stuff after script is loaded
});
}
您可以在這裏瞭解更多
<script>
function loadJS(src, callback) {
var s = document.createElement('script');
s.src = src;
s.async = true;
s.onreadystatechange = s.onload = function() {
var state = s.readyState;
if (!callback.done && (!state || /loaded|complete/.test(state))) {
callback.done = true;
callback();
}
};
document.getElementsByTagName('head')[0].appendChild(s);
}
loadJS('/script/script.js', function() {
// put your code here to run after script is loaded
});
</script>
我還是覺得不是作爲你有很多東西在那裏它能夠更好地在jQuery的加載和使用$ .getScript。
可以的,如果你想這樣做沒有jQuery的身體上的負荷
調用此方法,使用這種
function addScript(filename)
{
var scriptBlock=document.createElement('script')
scriptBlock.setAttribute("type","text/javascript")
scriptBlock.setAttribute("src", filename)
document.getElementsByTagName("head")[0].appendChild(scriptBlock)
}
與<body onload="addScript('myFile.js')"
調用它。如果你有多個文件要加載,你可以放入一個包裝器,它會添加你想要的所有文件。
var JS = {
load: function(src, callback) {
var script = document.createElement('script'),
loaded;
script.setAttribute('src', src);
if (callback) {
script.onreadystatechange = script.onload = function() {
if (!loaded) {
callback();
}
loaded = true;
};
}
document.getElementsByTagName('head')[0].appendChild(script);
}
};
// Example with callback
JS.load("http://www.someawesomedomain.com/some.js", function() {
//Do your thing.
});
使用$(文件)。就緒() 並從該函數調用JavaScript。這聽起來很瘋狂,但可以完成。請按照http://www.javascriptkit.com/javatutors/loadjavascriptcss.shtml
只需在您的JS標記中添加「Async」和「defer」屬性例如: 「」調用它裏面的函數。 – Nirus