我是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);
}

09-20 20:54