Javascript addScript功能在我第一次加载网站时不起作用

Javascript addScript功能在我第一次加载网站时不起作用,javascript,jquery,html,Javascript,Jquery,Html,我使用jquery.flexsliderplugin,效果很好 但是对于小于600px的屏幕,我不想加载插件。我尝试了几个脚本并以以下内容结束,我认为这是最有效的 我在头中的CSS和JS标记之后插入了它,但不幸的是,它只在第二次加载时起作用,在第一次加载时不起作用,F5也不起作用(在IE 11和Chrome 45.0.2454.101中进行了测试) 请参见由于跨浏览器的差异,您不能总是依赖document.head已经存在。改为使用document.getElementsById获取对元素的引用

我使用
jquery.flexslider
plugin,效果很好

但是对于小于600px的屏幕,我不想加载插件。我尝试了几个脚本并以以下内容结束,我认为这是最有效的

我在头中的CSS和JS标记之后插入了它,但不幸的是,它只在第二次加载时起作用,在第一次加载时不起作用,F5也不起作用(在IE 11和Chrome 45.0.2454.101中进行了测试)


请参见

由于跨浏览器的差异,您不能总是依赖document.head已经存在。改为使用document.getElementsById获取对元素的引用

function addScript(src) {
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.src = src;
    document.getElementsByTagName("head")[0].appendChild(script);
}
if (screen.width > 600) {
    addScript('http://www.mywebadre.ss/js/jquery.flexslider-min.js');
}
另外,我注意到您没有在URL前面使用http或https


经过测试,只要我使用有效的URL,它在IE和Chrome中都能正常工作。最后一步,将URL粘贴到浏览器中以确保其有效。

感谢您的帮助,我终于找到了自己的解决方案:

在与Screen.width的连接中添加外部脚本不需要单独的脚本

只需打开jquery.flexslider-min.js并添加到原始脚本的开头
,如下所示:

var mq = window.matchMedia( "(min-width: 500px)" );
if (mq.matches) {   here is the original code, just let it how it is }

不要忘记在原始脚本末尾的}再次关闭。希望我能用这个简单的技巧帮助其他人,mona

,这样你只关心在页面初始加载时检查屏幕宽度?我猜你是想隐藏小屏幕的幻灯片,如果是这样的话,我建议你忘记你想做什么,使用css媒体查询来显示/隐藏相关元素。我想知道为什么你的函数addScript有一个in参数
src
,如果你不使用它是的,我想隐藏一个小屏幕的幻灯片,谢谢-我尝试了你的脚本,但和以前一样-flexslider-min只在我转到URL并单击return时加载,F5不会发生任何事情。没有错误-jquery.flexslider-min.js只在我第二次加载站点时加载。我也注意到你没有将“http”添加到URL,所以我更新了代码。我打赌这是一个IE的东西,因为它在我的其他浏览器中工作。在我的原始脚本中,我使用了http。我唯一能猜到的是,你指向的URL没有被解析。上面的代码,虽然与任何其他URL一起作为脚本引用,但在Chrome中甚至在IE8中都可以使用。通过将URL粘贴到某个浏览器的地址栏中,确保URL实际有效。
var mq = window.matchMedia( "(min-width: 500px)" );
if (mq.matches) {   here is the original code, just let it how it is }