python html5 bootstrap 视频教程

德云社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6254|回复: 0

HTML5 Shiv 3.7.2(完美解决IE6/IE7/IE8不兼容HTML5标签的方法)

[复制链接]

172

主题

258

帖子

1114

积分

版主

Rank: 7Rank: 7Rank: 7

金钱
663
金币
7
威望
0
贡献
0
发表于 2015-4-10 10:35:28 | 显示全部楼层 |阅读模式
AI人工智能 语音助理 人工翻译 教程

越来越多的网站开始采用HTML5开发,但还有很多人在使用IE6/IE7/IE8;为让所有网站浏览者都能正常访问IE6/IE7/IE8不兼容的HTML5网站,针对IE6/IE7/IE8浏览器比较好的解决方案是使用html5shiv。


html5shiv主要用于解决HTML5提出的新元素不被IE6/IE7/IE8识别的问题,这些新元素不能作为父节点包裹子元素,且不能应用CSS样式。让CSS样式应用在未知元素上只需执行 document.createElement(elementName) 即可实现。html5shiv就是根据这个原理创建的。


HTML5的语义化标签及属性,可让开发者非常方便地实现清晰web页面布局,加上CSS3的效果渲染,可快速建立丰富灵活的web页面显得非常简单。


自提出起,HTML5标准就得到非常多的关注;而作为全球使用用户最多的IE浏览器是否能支持HTML5标准也是大家备受关注的一个问题。微软在2009年11月技术大会上表示:微软正在开发的IE9将更支持HTML5标准,但IE9是否将完全支持HTML5所有标准,微软却表现的有点含糊其辞。


HTML5标准可为网页带来更高效、更洁净的代码,只有微软参与HTML5的设计工作,才能让IE浏览器识别更多的新元素。


HTML5标准于2012年向全世界发布,很多网站的设计和开发都采用了HTML5标准。

在HTML5标准的制定和推广方面,苹果、Google、Opera、Mozilla、等知名浏览器厂商都表现得比较积极。微软也付出行动了,从微软在2009年11月技术大会上公布的IE9细节就可看出,微软会采取一种谨慎态度涉足HTML5网页标准。微软表示:新IE浏览器将以HTML5标准为核心;但微软的IE8浏览器及以下IE版本,对HTML5标签的支持却是有限的。


IE开发经理艾德里安巴特曼(Adrian Bateman )曾表示,IE团队希望分享自己对HTML5的看法,并参与制定该标准的讨论。巴特曼表示,尽管目前IE团队更多的是提出问题,而非给出解决办法,但是公开讨论正是推动HTML5发展的最佳方式。相信无论IE浏览器是否能够继续支持HTML5标准,HTML5标准在全球广泛的使用已经是大势所趋。


我们可通过在网页中添加脚本的方式来解决IE8以下浏览器对HTML5标准的支持问题。


要让IE6/IE7/IE8支持HTML5标准元素,需在HTML头部添加以下JavaScript,这是一简单document.createElement声明,利用条件注释针对IE来调用这个js文件。Opera、FireFox、等其他非IE浏览器会忽视这段代码,也不存在http请求。


html5shiv的使用非常简单,考虑到IE9是支持html5的,所以只需在页面head中添加以下代码即可:

  1. <!--[if lt IE 9]>  
  2.   <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js">  
  3. <![endif]-->  
复制代码


  1. <!--[if lt IE 9]>
  2.   <script src="http://cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
  3. <![endif]-->
复制代码


  1. <!--[if lt IE 9]>
  2.   <script src="js/html5shiv.min.js"></script>
  3. <![endif]-->
复制代码

以上代码仅会在IE浏览器下运行;还有一点需注意,在页面中调用html5.js或html5shiv.min.js文件,必须添加在页面head元素内,因为IE浏览器必须在解析元素前知道这个元素,所以这个js文件不能在页面底部调用。


这个HTML5标准js文件是作者放到Google code project上提供给大家的,可直接调用;当然,如觉得这会影响网页打开速度,可下载HTML5标准html5.js或html5shiv.min.js文件再上传到自己的服务器单独调用。


HTML5 Shiv 3.7.2 原文
  1. /**
  2. * @preserve HTML5 Shiv 3.7.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
  3. */
  4. !function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.2",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b)}(this,document);
复制代码

HTML5 Shiv 3.7.2 下载地址:
HTML5 Shiv 3.7.2.rar(2.34K)

版权声明:

1、本人发布的资源或软件若非本人原创,而来自网络或其它渠道、版权非本人所有 (在此声明:与  德云社区 无关);只能作为私下交流、学习、研究之用,版权归原作者、原软件公司所有。

2、若本人发布的资源或软件为本人原创,在  德云社区 发布后,德云社区 就自动获得了本人的许可,但本人保留所有权。

3、若您在没有获得本人发布资源、软件的所有权,或未经原作者、原软件公司许可前提下,请在下载后 24 小时内自行删除相关资源或软件。若您喜欢此资源或软件,请联系原作者、原软件公司获得许可。

4、本人仅仅提供一个私下交流、学习、研究的环境,将不对任何资源、软件负任何法律责任 (并在此声明:与  德云社区 无关)!

5、任何涉及商业盈利性目的的单位或个人,均不得使用本人发布的任何资源或软件;否则,产生的一切后果由使用者自己承担!

6、本站存档解压密码为 www.digitser.cnwww.digitser.net


AI人工智能 语音助理 人工翻译 教程
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|Sitemap|小黑屋|德云社区 |网站地图  

GMT+8, 2024-7-27 15:11 , Processed in 0.040578 second(s), 30 queries .

工业和信息化部: 粤ICP备14079481号-2

技术支持 乐数软件     版权所有 © 2014-2021 德云社区    

快速回复 返回顶部 返回列表