我想在即将到来的intranet项目中使用boilerplatejs,然而,许多机器仍然是带有IE8的WinXP (并且在组织中没有大规模部署火狐或Chrome的选项)。
我很快就尝试了整合html5shiv,但这似乎没有什么帮助。路由或其他功能似乎不起作用。我正在尝试弄清楚这是否值得这样做,或者是否有人试图在花费更多时间之前让它工作。
发布于 2013-02-02 12:22:46
BoilerplateJS核心没有设计任何HTML5功能。虽然我还没有在IE8中测试它,但我相信通过一些调整,这是非常有可能的。例如,如果用于路由的库crossroadsJS与IE8不兼容,您仍然可以很容易地将其替换为pathJS或其他与IE8兼容的库。
发布于 2013-02-02 04:08:10
不怎么有意思。这就是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]-->这些都是用于优雅降级ie < 9的条件子句。
如果这是一个许多人都在使用ie<9的项目,那么从工程角度考虑使用xhtml...just可能会更好
发布于 2013-02-14 17:48:15
事实上,您将遇到的最困难的问题不是boilerplatejs,而是外部库。
具体的调整取决于您在应用程序中利用的功能,但首先您需要做的就是
<section>将此代码放入您的<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的,任何不兼容的地方都来自支持库,而不是核心代码。
https://stackoverflow.com/questions/14650819
复制相似问题