1

今後のイントラネットプロジェクトにboilerplatejsを利用したいのですが、多くのマシンはまだIE8を搭載したWinXPです(大規模なFirefoxまたはChromeの展開の組織にはオプションがありません)。

私はすぐにhtml5shivを組み込んでみましたが、それは役に立たなかったようです。ルーティングまたは他の機能が機能していないようです。私はこれがやる価値があるかどうか、または誰かがそれにもっと時間を費やす前にこれを機能させようとしたかどうかを理解しようとしています。

4

3 に答える 3

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]-->

これらは、すなわち<9の優雅な劣化のための条件節です。

これが多くの人がie<9を使用するプロジェクトである場合は、xhtmlを使用する方がよいかもしれません...エンジニアリング上の考慮事項だけです

于 2013-02-01T20:08:10.183 に答える
2

実際、遭遇する最も難しい問題は、boilerplatejsではなく外部ライブラリに関するものです。

具体的な調整は、アプリケーションで活用する機能によって異なりますが、最初に必要なのは、

  • 次のようなHTML5要素をサポートするためにhtml5shimを追加します<section>
  • 欠落しているjsonシリアル化サポート用のjson2ライブラリを含める
  • [オプション]フロットチャートを有効にするためにexplorercanvasを含める

これをあなたの<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をサポートするboillerplatejsサンプルページが機能します

次に、クリックカウンターの例では、ボタンを何度クリックしても勝てないことに気付くでしょう。これは、 clickCounter / clickmeLOTTERY_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) : []

おめでとうございます...あなたは勝ちました!!!

バックボーンTODOモジュールの残りの問題の修正はあなたに任せます。元のコードをガイダンスとして使用できます。

要約すると、boilerplatejsは完全にIE8と互換性があり、非互換性はコアコードではなくサポートライブラリに起因します。

于 2013-02-14T09:48:15.030 に答える
0

BoilerplateJSコアは、HTML5機能を使用して設計されていません。IE8でテストしたことはありませんが、いくつかの調整を加えることで、これは非常に可能であると思います。たとえば、ルーティングに使用されるライブラリであるcrossroadsJSがIE8と互換性がない場合でも、pathJSまたはIE8と互換性のある他のライブラリに簡単に置き換えることができます。

于 2013-02-02T04:22:46.327 に答える