簡體   English   中英

可以使用樣板來使用IE8嗎?

[英]Can boilerplatejs be made to work with IE8?

我想將sampplatejs用於即將到來的Intranet項目,但是,許多機器仍然是帶有IE8的WinXP(並且在大規模Firefox或Chrome部署的組織中沒有選項)。

我很快嘗試合並html5shiv,但這似乎沒有幫助。 它沒有出現路由或其他功能正常工作。 我試圖弄清楚這是否值得做,或者是否有人試圖讓這個工作,然后花更多的時間在它上面。

並不是的。 這就是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]-->

這些是條件條款,適用於<9的優雅降級。

如果這是一個很多人都在<9的項目,那么使用xhtml可能會更好......只是一個工程考慮因素

事實上,您遇到的最困難的問題不是關於樣板,而是外部庫。

具體的調整取決於您在應用程序中使用的功能,但首先需要的是

  • 添加html5shim以支持HTML5元素,如<section>
  • 包含缺少json序列化支持的json2
  • [可選]包括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]-->

有了這個片段,你將獲得樣板頁面工作,路由,主題和i18n支持。

然后,您會注意到,在Click Counter示例中,無論您單擊按鈕多少次,都不會獲勝。 這是因為clickCounter / clickme組件發布的LOTTERY_ACTIVITY事件由於pubsub.js庫中的錯誤(?)而沒有到達任何偵聽器(我甚至在前一段時間提交了一個問題 )。 要解決它,請修改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模塊中的剩余問題留給您解決,您可以使用原始代碼作為指導。

總而言之,我認為boilerplatejs完全兼容IE8 ,任何不兼容性來自支持庫,而不是核心代碼。

BoilerplateJS核心沒有設計任何HTML5功能。 雖然我還沒有在IE8中測試它,但我相信通過一些調整可以實現這一點。 例如,如果crossroadsJS,用於路由的庫與IE8不兼容,您仍然可以使用pathJS或其他與IE8兼容的東西輕松替換它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM