我是javascript的新手,正在为这个基本问题而苦苦挣扎-我只想在窗口大小低于某个阈值(即移动版本不需要它)时才加载jQuery。对于桌面版本,jQuery必须在<head>
中加载,而不是在<body>
中加载,因为折叠上方的内容需要它。
我已经测试了循环,并在页面上打印了屏幕宽度,但是jQuery没有加载。我确定这是一个基本的语法问题,但是我看不到它!非常感激任何的帮助。 :)
<script type="text/javascript">
function loadjsfile(filename){
var fileref=document.createElement('script');
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", filename);
}
var w=window.innerWidth
|| document.documentElement.clientWidth
|| document.body.clientWidth;
if (w > 899){
document.write("screen Width: " + w);
loadjsfile("http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js");
}
</script>
最佳答案
您已经创建了包含脚本标记对象的fileref
变量,但是您从未将其添加到DOM中,因此它永远也不会加载。
function loadjsfile(filename){
var fileref = document.createElement('script');
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", filename);
//add this line
document.getElementsByTagName('head')[0].appendChild(fileref);
}