标签: yepnope

Modernizr.load(yepnope.js)IE条件混乱

在下面的代码dd_belatedpng.js中加载尽管我使用的是Firefox 4.0.1.根据yepnope.js文档,ielt7!如果浏览器的IE低于版本7 ,前缀应该只导致脚本加载.这个功能是从Modernizr.load实现中删除的(我相信一个只是另一个的别名)或者是一个错误,或者,正如我怀疑的那样,我只是错过/误解了一些明显的东西?谢谢你的帮助.这是代码.

Modernizr.load([
    {   
        load: '//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js',
        complete: function() {
            if(!window.jQuery) {
                Modernizr.load('/inc/jquery-1.6.1.min.js');
            }   
        }   
    },  
    {   
        load : 'ielt7!/inc/dd_belatedpng.js',
        callback: function() {
            $(function() {
                DD_belatedPNG.fix("img, .png_bg");
            }); 
        }   
    }/*,
    'jquery.plugins.js',
    'my.scripts.js'*/
]);
Run Code Online (Sandbox Code Playgroud)

javascript modernizr yepnope

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

YepNope和LabJS的替代品

我想通过资源加载器加载javascript和css文件.我最初使用的是LabJs,但我发现YepNope在我的场景中更优雅,更容易使用.然而,我发现它非常缓慢,这很奇怪,因为在大多数情况下它显然可以与LabJs相媲美.

我有一件事是Etags,我确信它会减慢一切,因为它仍然要求从服务器请求而不是仅仅处理客户端缓存.

无论如何,主要的YepNope网站之外没有多少,并且他们还没有在他们的问题列表上发布一个新版本,所以我想知道那里还有其他选择...

我的要求是:

  • 需要加载Css和Javascript
  • 需要并行完成所有这些工作
  • 可以通过Javascript加载

我希望YepNope有点活跃但是想要权衡其他选择......

javascript requirejs yepnope labjs resource-loading

5
推荐指数
2
解决办法
5033
查看次数

如何使用Modernizr和YesNope Javascript检查FormData

如何使用ModernizrYepNope检查FormData对象?

<script>
yepnope({  
  test : what.to.check,  
  yep  : 'normal.js',  
  nope : 'flashupload.js'  
});      
</script>
Run Code Online (Sandbox Code Playgroud)

javascript modernizr yepnope

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

Rails/Assets管道:动态列出清单中包含的资产

几个月来我成功使用资产管道.现在我想异步加载一些我的JS文件(使用yepnope库).当它运作良好,config.assets.debugfalse.

但是在开发模式(config.assets.debug通常在哪里true),对我来说最好的选择是动态获取我的清单中包含的所有js文件的列表(我有2个清单:application.js和externals.js),以便将它们提供给yepnope异步加载.

有没有想过这样做?

ruby-on-rails yepnope sprockets asset-pipeline

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

在Modernizer/yepnope.js中使用Drupal.settings.basePath加载

我目前正在开始在Acquia上开发drupal网站.使用git和本地工作对我来说是一个新的工作流程.在本地构建并尝试使用Modernizr load/yepnope时,我的script.js文件中的JS通常看起来像这样.

Modernizr.load([
    {
    test: Modernizr.mq('only all'),
    nope: '/sitename/docroot/sites/all/themes/theme/js/libs/polyfill.js'
    },
    ....
Run Code Online (Sandbox Code Playgroud)

所以它在我的机器上本地工作,但当我提交我的更改并推送到我的acquia开发服务器时,加载的脚本的文件路径是不正确的,因为它不是我想的相同的设置.

http://mysite.devcloud.acquia-sites.com/mysite/docroot/sites/all/themes/theme/js/libs/polyfill.js

它必须是下面的,没有URL中的mysite/docroot.

http://mysite.devcloud.acquia-sites.com/sites/all/themes/theme/js/libs/polyfill.js

这样就把我带到了Drupal.settings.basePath.如果我打印出来,它会在我的本地设置上给我/ mysite/docroot /.如果我在开发服务器上执行它,它会打印出不同的东西(可能只是/).

所以我作为业余爱好者认为我可以做这样的事情..(原谅可怜的样本,我知道它可以做得更好)

var myroot = Drupal.settings.basePath

Modernizr.load([
{
test: Modernizr.mq('only all'),
nope: myroot + 'sites/all/themes/theme/js/libs/polyfill.js'
},
....
Run Code Online (Sandbox Code Playgroud)

这当然不起作用.只返回query1未定义.

所以我确信在我的许多尝试中都存在错误.所以如果有人可以向我推荐一些内容,无论是工作流相关还是如何修复我的设置/代码,那都会很棒.

谢谢

javascript drupal-7 modernizr yepnope

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

覆盖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
查看次数

为yepnope.js安装node.js依赖项时出现"ERR!not package"

我很确定我在做一些愚蠢的事情 - 我不相信它是特定于yepnope ...我的节点知识并不那么热.

只是试图抓住并构建回购来玩一些东西(我不是试图在其他项目中使用它),我这样做:

$ npm cache clean
$ git clone https://github.com/SlexAxton/yepnope.js.git
$ cd yepnope.js
$ git checkout v2.0     # this is the branch I want
$ npm install
Run Code Online (Sandbox Code Playgroud)

但是在整个过程中,我得到了这样的结论:

npm http GET https://registry.npmjs.org/nopt/-/nopt-2.1.1.tgz
npm http 200 https://registry.npmjs.org/wd/0.0.26
npm http GET https://registry.npmjs.org/wd/-/wd-0.0.26.tgz
npm ERR! not a package /var/folders/00/17q10000h01000cxqpysvccm004yw4/T/npm-13923/1363859875320-0.8848134819418192/tmp.tgz
npm http 304 https://registry.npmjs.org/uglify-js
npm ERR! Error: ENOENT, open '/var/folders/00/17q10000h01000cxqpysvccm004yw4/T/npm-13923/1363859875320-0.8848134819418192/package/package.json'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or …
Run Code Online (Sandbox Code Playgroud)

node.js npm yepnope

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

Modernizr Yepnope Css Fallback

我正在使用CDN加载Bootstrap.css.我的问题是如何检查CDN引导程序是否已加载/找到.如果不是,那么加载本地Boostrap.

这是Jquery的后备..

    <script type="text/javascript">
        Modernizr.load([
            {
                load: '//cdnjs.cloudflare.com/ajax/libs/jquery/1.10.1/jquery.min.js',
                complete: function () {
                    if ( !window.jQuery ) {
                        Modernizr.load([
                            {
                                load: config.js + 'vendor/jquery-1.10.1.min.js',
                                complete: function () {
                                    console.log("Local jquery-1.10.1.min.js loaded !");
                                }
                            }
                        ]);
                    } else {
                        console.log("CDN jquery-1.10.1.min.js loaded !");
                    }
                }
            }
        ]);
    </script>
Run Code Online (Sandbox Code Playgroud)

这就是我加载Modernizr而不是Css的方式:

    <script src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
    <script type="text/javascript">
    if (typeof Modernizr == 'undefined') {
        document.write(unescape("%3Cscript src='" + config.js + "/vendor/modernizr-2.6.2-respond-1.1.0.min.js' type='text/javascript'%3E%3C/script%3E"));
        console.log("Local Modernizer loaded !");
    }
    </script>

    <script type="text/javascript">
        Modernizr.load([
        {
            load: config.css + "bootstrap.css",
            complete: function …
Run Code Online (Sandbox Code Playgroud)

modernizr yepnope

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

YepNope(Modernizr)和Google Analytics

我使用伟大的异步脚本加载器yepnope.js(在Modernizr2中).

我的问题是,将latset Google Analtics异步代码合并到yepnope(如果有的话)的最佳方法是什么?

谷歌建议使用实际的分析代码:

<html>

<head>
  <script type="text/javascript">
    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-XXXXX-X']);
    _gaq.push(['_trackPageview']);
  </script>
</head>

<body>
  <p>Page Content</p>

  <script src="some_random_script.js"></script>

  <p>Page Content</p>

  <script type="text/javascript">  (function() {
    var ga = document.createElement('script');     ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:'   == document.location.protocol ? 'https://ssl'   : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
   </script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

但在Modernizrs文档中,他们提到了这一点:

// Give Modernizr.load a string, an object, or an array of strings and objects
Modernizr.load([
  // Presentational …
Run Code Online (Sandbox Code Playgroud)

google-analytics modernizr yepnope

4
推荐指数
1
解决办法
2267
查看次数

Chrome说:资源解释为图片,但使用MIME类型text/javascript传输:"<jquery google cdn url>"

在webapp中,我使用的yepnope.js是加载器(主要是因为它能够加载CSS以及JS).

但是,对于yepnope加载的任何内容,Chrome都会发出警告:

资源解释为图像但使用MIME类型text/javascript传输: <some js file>

要么

资源解释为Image但使用MIME类型text/css传输: <some css file>

就执行而言,这不会产生任何问题,但我不明白的是Chrome如何将纯JS或CSS文件解释为IMAGE.

以及如何解决这个问题?

此外,无论从YepNope外部加载什么,都可以完美地加载而不会发出任何警告.

PS ::我没有启用任何扩展.唯一启用的是PageSpeed.

google-chrome yepnope

4
推荐指数
1
解决办法
7130
查看次数