0

IE7 の Meteor アプリで大きな問題が発生しています。おそらく、少なくとも 1 つの Meteorite パッケージ (特に、IE7 をサポートしていないと思われる Router) が原因です。いくつかの JavaScript エラーが発生し、空白のページが空のタグで読み込まれます。

IE7 のバグはユーザーの 1% にしか影響を与えませんが、サイトにアクセスして空白のページしか表示されず、悪いプロジェクトや夜通しのプロジェクトだと考える人がいるのは嫌です。

IE7 以前はサポートされておらず、ユーザーはブラウザをアップグレードするか、Chrome Frame を使用できることを説明する、私が書いた短いページを表示しようとしています。フォルダ<myapp>/noie.htmlに保存されているのでを押すと見れます。public/

ただし、アプリの残りの部分がクラッシュする前に、そのページへのリダイレクトを行う方法が見つからないため、リダイレクト コードは実行されません (本番環境では実行されますが、私のマシンでは実行されます)。のファイルに入れてみたり、 *lib/を使ってみMeteor.startup()たり、両方を同時にやったりしました! しかし、最終的にブラウザーで URL にアクセスすると、Meteor が動作を開始し、依存関係の読み込みを開始し、途中ですべてが中断されます。

リダイレクト コードを最初に実行するものの 1 つにすることができれば、すべて問題ありません。

*これは から呼び出されるようでclient_startup.js、特に DOM の準備が整うのを待ってから呼び出します。コードに到達する前にルーティング、テンプレートのレンダリングなどを行いますが、これは私には遅すぎます。

4

3 に答える 3

1

どうすればいいのか、だいたい分かってきたと思います。Meteor ページ (開発モードで提供) の [ソースを表示] をクリックすると、スクリプトが読み込まれる順序を確認できます。一般的に言えば、次のようになります。

1) Meteor 独自のパッケージ

2) あなたのパッケージ、すなわち にリストされているものsmart.json

3) .js/.coffee ファイルのどこかで Meteor.startup() に渡された関数

4) 残りの .js/.coffee ファイル (アプリの構造化に記載されている順序で)

私にとって最も重要なのは、smart.jsonファイルと結果のファイルの順序によって、パッケージがロードされる順序も.meteor/packages決定されるようです。

私の計画は、IE7 以下を検出してリダイレクトを行う独自の小さなスマート パッケージを作成することです。これを最初の項目として入れるpackagesので、IE7 でアプリをクラッシュさせる可能性のある Router などの前に実行されます。それがうまくいくかどうかを更新します。

更新:うまくいきました!Atmosphere にパッケージを公開しました。シンプルです。

于 2013-04-25T14:35:43.450 に答える
0

関連する質問は次のとおりです: Meteor Script Loading Order。そして解決策はInject-initialを使用しています。(あなたのスクリプト/コンテンツは、流星のコアの前であっても、最初は絶対になります)

于 2014-08-20T14:13:16.720 に答える