是否有可能运行IE8一些HTML5输入类型?(Is it possible to run some

2019-07-17 11:17发布

是否有可能与任何库运行在IE8的一些HTML5输入类型?
例如用范围。

Points: <input type="range" name="points" min="1" max="10">
<input type="submit" value="send">

Answer 1:

您可以使用Modernizr的检查,如果你的浏览器支持HTML5。
你可以使用IE8 jQuery UI的滑块的IT工作

查看此网页: http://jqueryui.com/slider/
演示: http://jsbin.com/eduren/1/edit

要阅读滑块值/百分比值:
VAR = VAL $( '#滑块')滑块( “选项”, “值”)。



Answer 2:

IE8不支持<input type="range"> 。 在旧的浏览器来达到这个目的最无缝的方式是检测的支持和使用“polyfills”在需要的地方。 一个填充工具被设计为支持添加到旧的浏览器,通常使用一些JavaScript试图模仿原生的行为会是什么。

此页面有polyfills的大名单。 (和Modernizr的是,以检测这些事情支持的好方式。)你会发现该列表中的各种输入类型polyfills。



Answer 3:

右键我的脑海,我认为镀铬边框,谷歌的项目带来的Chrome引擎下三叉戟罩。

网址: http://www.google.com/chromeframe

我从来没有尝试过自己。 当浏览器遇到一个错误,我们修复它,要么找到一个解决办法。 我不是附加的忠实粉丝,特别是从管理角度的视图。

另一种选择是使用Modernizr的库来检测浏览器功能和周围找工作吧。 总有一些哈克的方式来让你的出路。 使用HTML5希夫可以找到自己的出路的方式。 而这与IE8打交道时,我更喜欢第二个选项。 问候。



Answer 4:

IE8将呈现所有的“HTML5”输入类型为文本。 但您可以将这些类型的使用JavaScript,使用类似

$('[type=range]').slider() //insert your favorite library here...

我知道这是不是标签的jQuery,但我想的例子仍然不够清晰



Answer 5:

使用一定范围的输入,在IE浏览器和HTML5所有的浏览器适用于所有版本的代码:

<input name="range" id="range" type="range" min="1" max="10"/>
<!--[if lt IE 10]>
    <div id="range_ie" style="position:relative; width:255px; height:15px; font-size:0px; cursor:default" onclick="changevalue()" onselectstart="return false">
        <div style="position:absolute; left:0px; top:5px; width:100%; height:30%; border-left:1px solid gray; border-top:1px solid gray; border-right:1px solid white; border-bottom:1px solid white; background:silver"></div>
        <div id="slider" style="position:absolute; left:0px; top:0px; width:5px; height:100%; border:1px solid gray; background:#EBEBEB; font-size:15px" onmousedown="document.onmousemove=changevalue">&nbsp;&nbsp;</div>
    </div>
    <script type="text/javascript">
        window.document.getElementById("range").style.display = "none";
        document.body.onmouseup = function(){document.onmousemove = function(){void(0)}};
        function changevalue(){
            range.value = ((navigator.appName.substring(0,3) == "Net") ? e.pageX : event.x) * (eval(range.max) - eval(range.min))/eval(window.document.getElementById("range_ie").style.width.substring(0,window.document.getElementById("range_ie").style.width.search("px"))) + eval(range.min);
            if(range.value > eval(range.max)){range.value = range.max}
            if(range.value < eval(range.min)){range.value = range.min}
            window.document.getElementById("slider").style.left = (range.value - eval(range.min)) * eval(window.document.getElementById("range_ie").style.width.substring(0,window.document.getElementById("range_ie").style.width.search("px")))/(eval(range.max) - eval(range.min)) + "px";
        }
    </script>
<![endif]-->


文章来源: Is it possible to run some HTML5 input types in IE8?