admin管理员组文章数量:1391964
I am trying to load an external javascript file from within javascript but I cannot seem to get it to work. Am I doing something wrong?
sample file of my work
function loadJs() {
var fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript")
fileref.setAttribute("src", ".7.1/jquery.min.js")
document.body.appendChild(fileref); }
I am trying to load an external javascript file from within javascript but I cannot seem to get it to work. Am I doing something wrong?
sample file of my work
function loadJs() {
var fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript")
fileref.setAttribute("src", "https://ajax.googleapis./ajax/libs/jquery/1.7.1/jquery.min.js")
document.body.appendChild(fileref); }
Share
Improve this question
asked Dec 25, 2011 at 20:24
JonJon
8,55131 gold badges96 silver badges150 bronze badges
3
- Why do you want to load jquery dynamically? Perhaps there is a better solution. – PeeHaa Commented Dec 25, 2011 at 20:32
- It is part of a project I am working on. Realistically, I would just load it in HTML using <script> :) – Jon Commented Dec 25, 2011 at 20:43
- Are you sure document.body exists when this runs? If this runs from the head, document.body won't exist yet. – Dagg Nabbit Commented Dec 25, 2011 at 20:47
2 Answers
Reset to default 7Perhaps you are trying to access the jQuery API before it is fully loaded. You can add a callback parameter to the loadJs function like this:
function loadJs(src, callback) {
var s = document.createElement('script');
document.getElementsByTagName('head')[0].appendChild(s);
s.onload = function() {
//callback if existent.
if (typeof callback == "function") callback();
callback = null;
}
s.onreadystatechange = function() {
if (s.readyState == 4 || s.readyState == "plete") {
if (typeof callback == "function") callback();
callback = null; // Wipe callback, to prevent multiple calls.
}
}
s.src = src;
}
loadJs('https://ajax.googleapis./ajax/libs/jquery/1.7.1/jquery.min.js', function() {
$('body').append('<p>It works!</p>');
});
Tested in chrome, FF, ie8. Fiddle: http://jsfiddle/Umwbx/2/
Use code similar to this:
function loadJs() {
var s = document.createElement('script');
var c = document.getElementsByTagName('script')[0];
s.type = 'text/javascript';
s.src = 'https://ajax.googleapis./ajax/libs/jquery/1.7.1/jquery.min.js';
c.parentNode.insertBefore(s, c);
}
本文标签: Load External JavaScript FileStack Overflow
版权声明:本文标题:Load External JavaScript File - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744675820a2619102.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论