我在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