标签: modernizr

Modernizr有帮助吗?

我似乎无法在我的网站上使用modernizr.我已将javascript文件添加到文件夹中并调用它们.我还在html中添加了no-js,但仍然没有.

当我查看源代码时,它不会像它应该填充html.

我没有将它用于css3元素,所以我不需要任何后备样式,我只是希望能够使用更多的语义标签,如标题,导航,页脚等...

这是我的文档代码:

<!DOCTYPE html>

<html class="no-js" lang="en">
<head>
    <meta charset=utf-8>
    <title></title>
    <!--[if IE]>
    <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js">
    </script>
    <![endif]-->

    <script type="text/javascript" src="/js/modernizr-1.7.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

html javascript html5 css3 modernizr

7
推荐指数
2
解决办法
5685
查看次数

如何使用Modernizr输入type = datetime?

我为HTML输入字段和属性创建了一个自定义构建,并将其包含在我的页面中,<head>但这不起作用.我还需要做什么?

html javascript datetime modernizr

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

在叠加模式视图中禁用正文滚动

我正在使用此脚本来显示和隐藏模态视图,但是我想在打开模态视图时禁用主体上的滚动,并在关闭时禁用它.

我试图修改JS代码,但它工作但它打破了开始动画.这是修改后的代码:

(function() {
var triggerBttn = document.getElementById( 'trigger-overlay' ),
    overlay = document.querySelector( 'div.overlay' ),
    bodyTag = document.querySelector( 'body' ),
    closeBttn = overlay.querySelector( 'button.overlay-close' );
    transEndEventNames = {
        'WebkitTransition': 'webkitTransitionEnd',
        'MozTransition': 'transitionend',
        'OTransition': 'oTransitionEnd',
        'msTransition': 'MSTransitionEnd',
        'transition': 'transitionend'
    },
    transEndEventName = transEndEventNames[ Modernizr.prefixed( 'transition' ) ],
    support = { transitions : Modernizr.csstransitions };

function toggleOverlay() {

    if( classie.has( overlay, 'open' ) ) {
        classie.remove( overlay, 'open' );
        classie.add( overlay, 'close' );

        var onEndTransitionFn = function( ev ) { …
Run Code Online (Sandbox Code Playgroud)

html javascript scroll modernizr

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

有条件地加载polyfill

我正在建立一个我的目标群体非常普遍的网站(年龄13岁,所以你好IE9,你好古老的android浏览器),所以我需要polyfills一些东西(视口,计算等).之前我使用Modernizr和一些条件用户代理来定位IOS 6-7等.然后使用yepnope.js我正在加载特定的polyfill.

既然modernizr 3.0已经出现了,我注意到了Modernizr.load()已被弃用.此外,不推荐使用yepnope.js库.正如他们在他们的网站上所说

"有一些新的最佳实践,你可能应该遵循."

但我找不到他们中的任何一个.谷歌搜索一段时间后,每个人都推荐Modernizr和Yepnope.但是这个问题是如此新鲜(弃用,新版本的Modernizr),我找不到任何新的替代方法.

也许使用一些模块加载器(如require.js)可以完成这项工作吗?如果是,怎么样?

javascript modernizr polyfills

7
推荐指数
3
解决办法
2997
查看次数

对base64 URI支持的更好测试(我可以在JS中创建一个大的base64编码图像吗?)

我正在使用Modernizr来检测用户正在运行的浏览器支持的功能,到目前为止一切顺利.但在测试base64兼容性时,我遇到了理论上的问题.这个支持的补丁在这里详细介绍,并且可以工作 - 除了IE8的奇怪情况 - 它只允许最高32KB的base64编码图像.

我真的不想在我的JS文件中嵌入一个32KB长的base64字符串,它会增加一些疯狂的膨胀.那么,我可以使用JS创建一个32KB的有效图像吗?我正在考虑在字符串中重复某种模式,直到它达到32KB的长度,这种事情.或者可能使用现有的小字符串(如Modernizr补丁中的字符串)并在最后添加垃圾数据,这仍然会产生有效的图像.

除了如何操作现有图像之外,我对base64编码几乎一无所知.有没有人有任何想法?

javascript html5 base64 modernizr data-uri

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

HTML5输入验证在IE8中不起作用

你好,互联网的人,我一直在讨厌这个...并且已经看过几个类似的贴子,但我似乎无法弄清楚这一点:

HTML5输入字段验证CSS适用于Firefox,Chrome ......但是唉,不是在IE8中...我的目标受众中的很多人都将使用IE8.

...是的:我正在使用Modernizr,我使用Initializr获取页面模板和CSS ...我有点困惑为什么我无法在IE8中正常工作.

这是我的测试页面的链接: 测试html5页面

输入字段在正确输入之前为红色,然后在输入有效帐号时验证将变为绿色,例如:50011111111

HTML5代码如下:

<label for="account">Account Number: </label> 
<input id="account" name="inputAccount" 
  placeholder="input billing account number" 
  pattern="/(^500)|^\d{11}" 
  required
  autofocus
  type="text"/>
Run Code Online (Sandbox Code Playgroud)

关于什么可能是一个相当简单的修复建议的任何建议将非常感激!

html5 internet-explorer-8 modernizr

6
推荐指数
2
解决办法
3万
查看次数

Modernizr vs $(document).ready()

从网络面板看,当您通过Modernizr.load加载脚本时,它实际上并不会阻止$(document).ready().

所以理论上,假设我通过Modernizr添加json2.js,而另一个开发人员试图在$(document).ready()中使用JSON.parse,他们的脚本实际上可能会因为竞争条件而中断.

是否可以在不试图警告所有代码签到的情况下解决这个问题?

jquery document-ready modernizr

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

有没有办法一次性执行所有Modernizr测试?

我是Modernizr的新手,我只是想找一种简单的方法来检查浏览器的整体兼容性.我已经生成了一个Modernizr脚本来测试我的Web应用程序中最基本的组件,它高度依赖于HTML5,CSS3和现代JavaScript方法.有没有办法同时运行所有这些测试?查看文档,我看到有很多方法可以逐个测试每个功能,但我没有看到一次完成所有功能的方法.我希望做这样的事情:

伪代码

if (Modernizr.testAll()) {
  // Load site
} else {
  // Redirect to compatibility page
}
Run Code Online (Sandbox Code Playgroud)

javascript compatibility cross-browser modernizr

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

调整大小浏览器时,Modernizr Media查询不起作用

我在JavaScript中使用Modernizr媒体查询来更改元素边距并添加"小"类.当我调整浏览器大小时,我的Modernizr媒体查询不起作用,但是当我刷新页面时,它可以工作.我知道我可以使用jQuery $( window ).resize()函数解决这个问题,但我想用媒体查询来解决它.任何人都能告诉我如何解决这个问题吗?

<html class="no-js">
    <head>
        <title>Foundation 5</title>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
        <script src="modernizr.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                if (Modernizr.mq('(max-width: 767px)')) {
                    $("#secondary").addClass("small");
                    $("#secondary").css("margin", " 25px");
                }
            });
        </script>
        <style type="text/css">
            #primary {
                width: 300px;
                height: 200px;
                background-color: black;
            }
            #secondary {
                margin: 0 auto;
                width: 250px;
                height: 150px;
                background-color: white;
                position: absolute;
            }

        </style>
    </head>
    <body>
        <div id="primary">
            <div id="secondary">

            </div>
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript jquery media-queries modernizr

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

Math.pow IE11 的替代“**”ES7 polyfill

我正在尝试评估一个包含 power 的表达式,字符串为**。即eval("(22**3)/12*6+3/2")。问题是 Internet Explorer 11 无法识别这一点并引发语法错误。我应该使用哪种聚酯填充材料来克服这个问题?现在我正在使用Modernizr 2.6.2.

示例方程是,

((1*2)*((3*(4*5)*(1+3)**(4*5))/((1+3)**(4*5)-1)-1)/6)/7
((1*2)*((3*(4*5)*(1+3)**(4*5))/((1+3)**(4*5)-1)-1)/6)/7*58+2*5
(4*5+4-5.5*5.21+14*36**2+69/0.258+2)/(12+65)
Run Code Online (Sandbox Code Playgroud)

如果无法做到这一点,有哪些可能的替代方案?

javascript modernizr polyfills internet-explorer-11 ecmascript-2016

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