Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Modernizer有条件地加载javascript_Javascript_Jquery_Media Queries_Parallax_Modernizr - Fatal编程技术网

使用Modernizer有条件地加载javascript

使用Modernizer有条件地加载javascript,javascript,jquery,media-queries,parallax,modernizr,Javascript,Jquery,Media Queries,Parallax,Modernizr,我正在构建视差站点,我想关闭小视口上的视差滚动效果(我想关闭460px以下视口的视差脚本) 我已经用Modernizr做了一些简单的回退css修复,但不知道如何针对这个外围环境,然后加载到相关的js文件中 我使用scrollr.js实现视差效果 谢谢你的帮助 老实说,使用实际的JavaScript加载器可能更有利,特别是因为Modernizer完全是针对HTML5和CSS3的功能检测,而且我相信它根本不支持JavaScript。当需要时,它由现在不推荐的YepNope处理(见下文) 您的问题的

我正在构建视差站点,我想关闭小视口上的视差滚动效果(我想关闭460px以下视口的视差脚本)

我已经用Modernizr做了一些简单的回退css修复,但不知道如何针对这个外围环境,然后加载到相关的js文件中

我使用scrollr.js实现视差效果


谢谢你的帮助

老实说,使用实际的JavaScript加载器可能更有利,特别是因为Modernizer完全是针对HTML5和CSS3的功能检测,而且我相信它根本不支持JavaScript。当需要时,它由现在不推荐的YepNope处理(见下文)

您的问题的一些潜在脚本是,或[已弃用]

还有其他几种可能性,例如,但这基本上是一个完整的工具箱,它具有Modernizer、jQuery和其他几个库的特性,并集成在一个工具箱中。然而,对于您想要做的事情,它可能有点太大了。还有,这是未维护的,但也应该能够为您提供所需的功能

进一步阅读:


老实说,使用实际的JavaScript加载程序可能更有利,特别是因为Modernizer完全是针对HTML5和CSS3的功能检测,而且我相信它根本不支持JavaScript。当需要时,它由现在不推荐的YepNope处理(见下文)

您的问题的一些潜在脚本是,或[已弃用]

还有其他几种可能性,例如,但这基本上是一个完整的工具箱,它具有Modernizer、jQuery和其他几个库的特性,并集成在一个工具箱中。然而,对于您想要做的事情,它可能有点太大了。还有,这是未维护的,但也应该能够为您提供所需的功能

进一步阅读:


如果您不需要特殊的东西,如有序执行或在加载和执行脚本后立即回调,则非常简单:

function loadJS(u){var r=document.getElementsByTagName("script")[0],s = document.createElement("script");s.src = u;r.parentNode.insertBefore(s,r);}
用法:

if(!Modernizr.feature){
    loadJS('path/to/script.js');
}
如果您使用的是jQuery,您可以这样做,然后您还有一个回调:

if(!Modernizr.feature){
    $.ajax({
        url: 'path/to/script.js',
        dataType: 'script',
        cache: true,
        global: false,
        crossDomain: true //good for debugging
    });
}

因此,在90%的情况下,您不需要特殊的加载脚本。

如果您不需要特殊的东西,如有序执行或在加载和执行脚本后立即回调,则非常简单:

function loadJS(u){var r=document.getElementsByTagName("script")[0],s = document.createElement("script");s.src = u;r.parentNode.insertBefore(s,r);}
用法:

if(!Modernizr.feature){
    loadJS('path/to/script.js');
}
如果您使用的是jQuery,您可以这样做,然后您还有一个回调:

if(!Modernizr.feature){
    $.ajax({
        url: 'path/to/script.js',
        dataType: 'script',
        cache: true,
        global: false,
        crossDomain: true //good for debugging
    });
}

因此,在90%的情况下,您不需要特殊的加载脚本。

非常感谢@Brandon,这是一个多么有用的回答。我浏览了Scroller的文档,他们为我的问题提供了现成的解决方案。然而,我过去一直在努力有条件地加载JavaScript,这些建议看起来很棒,我将进一步阅读您建议的内容:)很高兴听到@RyanCampbell:)我希望这对您将来有很大帮助!非常感谢@Brandon,这是多么有益的回答。我浏览了Scroller的文档,他们为我的问题提供了现成的解决方案。然而,我过去一直在努力有条件地加载JavaScript,这些建议看起来很棒,我将进一步阅读您建议的内容:)很高兴听到@RyanCampbell:)我希望这对您将来有很大帮助!