1

最近、gwt.xml スクリプトを 1 つの順列 (ie8 のみ) のみをコンパイルするように変更しました。これで以前の問題は解決しましたが、外観上の問題が発生しました。これは、IE8 で GWT ページを開くたびに迷惑なポップアップ ウィンドウが表示されるというものです。

ここにポップアップを示すスクリーンショットを含めます。それを取り除くための助けがあれば幸いです。 ここに画像の説明を入力

更新: Thomas のアドバイスに従ってください。ie8 と safari 用にコンパイルすることで、そのメッセージを取り除くことができました。ただし、それ以来、IE8モードではなく、IE9ドキュメントモードでIE9でのみWebページを開くことができます。ユーザーはIE8を使用しています

以下は gwt.xml のコード スニペットです。

    <set-property name="user.agent" value="ie8"/>
<extend-property name="user.agent" values="safari" />

以下は、例外を示す GWT Dev Log です。Firefox 14.0.1 がインストールされているため、ユーザー エージェント 'Mozilla/4.0' は私を困惑させます。

 11:12:17.143 [ERROR] [dca] Failed to load module 'dca' from user agent 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E; MS-RTC LM 8)' at 127.0.0.1:51883

IE 用の Google Chrome Frame プラグインもあることがわかりましたが、これは会社のデフォルト設定であるため、最後の手段です。

OK、これが私の最後の更新です。デフォルトの GWT カバー 6 順列には IE8 が含まれていますが、私の IE にはブラウザをサファリにマスクする Chromn フレームがあり、IE8 と古いブラウザは、ほとんどの GWT ウィジェットが依存する「AddEventListener」メソッドをサポートしていません。したがって、私の IE8 ブラウザの gwt use safari 実装は、オブジェクトが AddEventListener メソッドをサポートしていないという Web ページの初期化でエラーになります。

私の最初の試みは、GWT を ie8 用にのみコンパイルするように設定することですが、これにより上記の迷惑なポップアップが生成されます。

2 回目の試行では、GWT が ie8 と safari の両方をコンパイルするように設定されます。この場合も、AddEventListener メソッドでこの障害が発生します。

最後の試みは、Chrome Frame を利用して設定することです

     <meta equiv="X-UA-Compatible" content="chrome=1"> 

これにより、Chrome Frame を搭載した IE ブラウザーは、IE エンジンの代わりに Chrome のエンジンを使用して Web ページを処理できるようになりましたが、私にはあまり効果がありませんでした。同じ話です。

私の最終的な解決策は、GWT に 6 順列をデフォルトとしてコンパイルさせ、Chrome フレームを無効にすることです。これは会社全体のデフォルト プラグインですが、ユーザーがこのプラグインを必要とする場合は、実際のクロムを取得して自然選択を魔法のように機能させる必要があります。

4

1 に答える 1

2

GWT は IE8 がsafariであると判断し、おそらく Google Chrome Frame がインストールされており、ページまたはサーバーが適切なビットを送信してアクティブ化します。

したがって、次のいずれかです。

  • ページ/サーバーがクライアントで Chrome Frame を有効にしようとしていないことを確認してください
  • ie8およびsafari 用にコンパイルします (2 つの順列):<set-property name="user.agent" value="ie8,safari" />
  • Chrome Frame をアンインストールする
  • または、アプリの開発/テスト中に反復を高速化するだけの場合は、safari順列のみをコンパイルします
于 2012-08-28T16:18:03.590 に答える