标签: yepnope

使用Modernizr.load(yepnope.js)导致我的脚本被请求两次的原因是什么

我使用yepnope.js动态加载javascript文件,我注意到我的脚本似乎根据Firebug和Webkit Inspector加载了两次.

问题是在Firebug的Net面板(Firefox 4最新版)中,他们的反应是200,而不是304.它似乎比Chrome慢.

我上传了这个显示问题的视频.您可以看到文件jquery-1.6.1.min.jslibs.js加载的时间.

我用来执行此操作的代码如下,简化:

Modernizr.load({
                load: ['jquery-1.6.1.min.js', 'libs.js'],
                complete: function () {
                    console.log("loaded");
                }
});
Run Code Online (Sandbox Code Playgroud)

Modernizr.load()yepnope().

javascript dynamic-script-loading modernizr yepnope

20
推荐指数
1
解决办法
6260
查看次数

如何使用Modernizr检测媒体查询是否存在

我正在尝试使用Modernizr 2检测媒体查询是否存在,然后在适当时加载respond.js.

我把它放在我的script.js文件中......

Modernizr.load({
  test: Modernizr.mq,
  yep : '',
  nope: 'mylibs/respond.js'
});
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我很惊讶没有关于如何在Modernizr网站上使用媒体查询执行此操作的示例.这是我正在使用的Modernizr的版本......

http://www.modernizr.com/download/#-backgroundsize-borderradius-boxshadow-iepp-respond-mq-cssclasses-teststyles-testprop-testallprops-prefixes-domprefixes-load

media-queries modernizr yepnope

17
推荐指数
1
解决办法
2万
查看次数

如何有效地使用yepnope.js和$(document).ready()?

我一直在实现yepnope脚本加载器作为modernizr.js库的一部分.之后我成功地加载了jQuery以加载jQuery依赖脚本.我是异步加载资源的新手,所以对我来说这有点新鲜.我一直在四处寻找,但是下面没有太多运气.

我的问题是,在使用yepnope.js框架时,您对如何有效替换$(document).ready()的功能有何看法?

我的理论是在我的基础库中创建一个适当命名的函数,然后在我的页面上将该变量设置为包含我现有的$(document).ready()代码的匿名函数.在所有脚本加载到完整回调之后,yepnope将调用此变量.

你是否同意这是一个很好的方法,或者我是否完全以错误的方式接近这个?

(对于那些不知道的人,yepnope.js的异步性质意味着文档在yepnope加载器完成之前调用$或jQuery,抛出"$ is undefined"错误< - 如果错误请纠正我.)

第一个问题,希望它是一个好的.

javascript jquery document-ready asynchronous-loader yepnope

15
推荐指数
2
解决办法
7617
查看次数

我应该在同一页面中使用Modernizrjs + YepNopejs + Requirejs吗?

我正在使用RequireJs来构建我的JavaScript代码.另外,我使用了很多CSS3,我使用了"Modernizr w/YepNope"+ x个css3 polyfill.

我理解"Modernizr w/YepNope"和RequireJs都是资源加载器.既然它们都是资源加载器,那么在同一个项目中同时使用它们是一个坏主意吗?

所以,基本上我问,使用是不是一个坏主意:

  • Require.js
  • Modernizr.js w/YepNope.js

在同一页面?

modernizr requirejs yepnope

9
推荐指数
1
解决办法
3098
查看次数

现在,如果不推荐使用yepnope,如何使用modernizr加载条件js文件?

现在使用modernizr加载条件javascript文件有哪些好的做法,因为在最新版本的modernizr中不推荐使用yepnope和.load.

以前能够使用.load函数. http://modernizr.com/docs/#load

Modernizr.load({
  test: Modernizr.geolocation,
  yep : 'geo.js',
  nope: 'geo-polyfill.js'
});
Run Code Online (Sandbox Code Playgroud)

现在.load与yepnope一起被弃用. https://github.com/SlexAxton/yepnope.js/

在yepnope被弃用之前参考答案 使用Modernizr加载脚本...不工作

modernizr polyfills yepnope ruby-on-rails-4

7
推荐指数
1
解决办法
390
查看次数

我(或应该)如何扩展Modernizr.load()以预加载图像?

想法是加载页面/something/index.html.但是,在我展示之前,它的依赖关系(在这种情况下是css和图像)是预加载的.

Modernizr.load({
    load: ['/something/styles.css', '/something/image1.jpg'],
    complete: showFile
 });
Run Code Online (Sandbox Code Playgroud)

我查看了Paul Irish的"imagesLoaded"jQuery插件,但我更喜欢使用我已经拥有的加载器的简单性.我知道YepNope(和Modernizr.load)不是设计师作为通用预加载器,但我觉得这是最干净的方法.

非常感谢有关如何将图像预加载到Modernizr/YepNope加载脚本中的任何想法.

新西兰

image-preloader modernizr yepnope

6
推荐指数
1
解决办法
2027
查看次数

Modernizr - 哪些脚本异步加载?

我有以下内容:

Modernizr.load([
{
  load : '//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js',
  complete : function () {
    if ( !window.jQuery ){
      Modernizr.load('/js/jquery-1.6.2.min.js');
    }
  }
},
{
  load : ["/js/someplugin.js", "/js/anotherplugin.js"],
  complete : function()
  {
    // do some stuff
  }
},
{
    load: ('https:' == location.protocol ? '//ssl' : '//www') + '.google-analytics.com/ga.js'
}
]};
Run Code Online (Sandbox Code Playgroud)

我读到Modernizr加载脚本Asyncronously.但在上面的例子中,哪些是异步加载?

是否所有以下内容都是异步加载的?

  1. jquery.min.js
  2. someplugin.js
  3. anotherplugin.js
  4. 的ga.js

或者它是异步和有序加载的组合,如下所示:

  1. 首先加载jquery.min.js
  2. 然后someplugin.js和anotherplugin.js被加载异步
  3. 最后,加载了ga.js.

我很难测试它是哪种情况.

javascript jquery asynchronous modernizr yepnope

6
推荐指数
1
解决办法
3505
查看次数

如何检查异步加载的脚本是否已在javascript中完成加载

使用javascript异步下载另一个javascript文件.

我知道这可以通过在页面上插入新的脚本标签并将src属性设置为文件URL来完成.

我还需要在脚本下载完成后运行一些代码.我一直在使用yepnope,它们提供了在脚本完成下载和执行时执行的"回调".

这是如何完成的?

谢谢!

javascript dynamic-script-loading yepnope

6
推荐指数
1
解决办法
2500
查看次数

使用yepnope的多个条件

我使用yepnope.js作为资源加载.我想只在加载了该模块的所有依赖项时才在我的JS模块中执行代码.我不想加载已经加载的JS依赖项.

假设,我有依赖D1.js和D2.js. 我试过了

yepnope({
    load: ['D1.js', 'D2.js],
    complete: function() {
        //execute my code here
    }
});
Run Code Online (Sandbox Code Playgroud)

这是有效的,但是,每次都会加载资源,即使它们之前已经加载过.

如果我做那样的多个测试:

yepnope([{
    test: $().d1,
    nope: 'D1.js'
},
{
    test: $().d2,
    nope: 'D2.js'
}]);
Run Code Online (Sandbox Code Playgroud)

目前尚不清楚在哪里放置整体已完成的功能 - 在所有资源加载后运行的功能.

是否可以使用yepnope执行此操作,还是需要使用其他组件?

谢谢.

requirejs yepnope labjs

6
推荐指数
1
解决办法
1182
查看次数

覆盖CSS Vs选择性地使用Modernizer加载CSS(YepNope)

不确定如何测试这个但是通过使用Modernizer.load的查询加载CSS样式表是否有任何性能提升,而不是仅在同一样式表中用CSS类名覆盖规则.

例如,如果设备具有触摸支持,那么我有一个不同的布局要加载,是否更快做...

{
  test: Modernizr.touch,
  yep : 'css/touch.css',
  nope: 'css/base.css'
}
Run Code Online (Sandbox Code Playgroud)

或者覆盖相同样式表中的样式......

.container { width: 50% }

.touch .container { width: 100% }
Run Code Online (Sandbox Code Playgroud)

似乎差异归结为额外查询的速度和一个大CSS文件的重量?

css modernizr yepnope

5
推荐指数
1
解决办法
417
查看次数