可以使用样板来使用IE8吗?

时间:2013-02-01 16:32:24

标签: html5 internet-explorer-8 boilerplatejs

我想将boilerplatejs用于即将推出的Intranet项目,但是,许多机器仍然是带有IE8的WinXP(并且在大规模Firefox或Chrome部署的组织中没有选项)。

我很快就尝试合并html5shiv,但这似乎没有帮助。它没有出现路由或其他功能正常工作。我试图弄清楚这是否值得做,或者是否有其他人试图让这个工作在花费更多时间之前。

3 个答案:

答案 0 :(得分:2)

不是真的。这就是h5bp中代码的含义

<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->

那些是优雅降级的条件条款,即&lt; 9。

如果这是一个很多人都会参与的项目,即&lt; 9,那么使用xhtml可能会更好......只是一个工程考虑因素

答案 1 :(得分:2)

事实上,您遇到的最困难的问题不是关于 boilerplatejs 而是关于外部库。

具体调整取决于您在应用程序中使用的功能,但首先需要的是

  • 添加 html5shim 以支持<section>
  • 等HTML5元素
  • 包含 json2 库,用于缺少json序列化支持
  • [可选]包含explorercanvas以启用 flot 图表

将其放入<head>部分:

<!--[if lt IE 9]>
<script type="text/javascript" charset="utf-8" src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<script type="text/javascript" charset="utf-8" src="http://cdnjs.cloudflare.com/ajax/libs/json2/20110223/json2.js"></script>
<script type="text/javascript" charset="utf-8" src="http://explorercanvas.googlecode.com/svn/trunk/excanvas.js"></script>
<![endif]-->

使用此代码段,您将获得 boilerplatejs 示例页面,支持路由,主题和i18n支持。

然后,您会注意到,在点击计数器示例中,无论您点击按钮多少次,都不会获胜。这是因为 clickCounter / clickme 组件发布的LOTTERY_ACTIVITY事件由于 pubsub.js 库中的错误(?)而无法到达任何侦听器(我甚至submitted an issue前一段时间)。要解决此问题,请修改 libs \ pubsub \ pubsub-20120708.js ,更改

params = (args.length > 1) ? Array.prototype.splice.call(args, 1) : []

与IE8兼容的电话:

params = (args.length > 1) ? Array.prototype.splice.call(args, 1, args.length-1) : []

祝贺你......你好!

我将 Backbone TODO 模块中的剩余问题留给您解决,您可以使用original code作为指导。

总结一下,我会说 boilerplatejs 与IE8完全兼容,任何不兼容性来自支持库,而不是核心代码。

答案 2 :(得分:0)

BoilerplateJS核心未设计任何HTML5功能。虽然我还没有在IE8中测试它,但我相信通过一些调整可以实现这一点。例如,如果crossroadsJS,用于路由的库与IE8不兼容,您仍然可以使用pathJS或其他与IE8兼容的东西轻松替换它。