2

これはExtJSとは何の関係もないかもしれませんが、適切な答えを得るためにすべての情報を提供する必要があります:D。

いくつかのグリッドパネルを表示するためにExtJS4.1を使用するアプリケーションがあります。

ローカルホストでアプリケーションを実行すると、すべてが正常に表示されます。

アプリケーションをリモートサーバーに展開すると、IE8で必要なグリッドが表示されなくなります。列の配置に関係なく、すべての情報がテーブルに表示されます(列ヘッダーは適切ですが、他のセルは重複しています)。

物事をより一般的にするには:

同じアプリケーションはローカルホストで正常に実行されますが(どのコンピューターでも)、サーバーに展開すると、IE8は正常に表示されません。これは、CSSファイルまたはJavaScriptファイル(おそらく両方ともExtJSに関連している)が原因で発生します。

なんで?

4

2 に答える 2

1

IE8の場合は、開発者ツールのドキュメントモードでチェックインすると、クァークズモードになる可能性があります。

于 2012-07-27T11:55:22.447 に答える
1

これを回答として投稿するというOPのリクエストによると:

デフォルトでは、IEはイントラネットサイトで互換表示を有効にして実行されます。これは、IEを使用するほとんどのイントラネットサイトがIE専用に作成されているため、IEが標準に準拠し始めると機能しなくなるためと考えられます。

これにより、ローカルで表示されるものとイントラネット(およびインターネット)で表示されるものに違いが生じる可能性があります。これは、Windowsグループポリシーを使用して全面的に変更できます。これを受け入れる組織もあれば、変更できない/変更しない組織もあります。

宣言meta http-equiv="X-UA-Compatible" content="IE=edge"しても動作が修正されない場合(コメントに記載されているように)、互換表示が実際に問題であることを確認することから始めます

その他の可能性
適切なDoctypeが設定されていると想定しています(たとえば、HTML5またはHTML4 strictですが、他の可能性も問題なく機能すると思います)。これは、「X-UA-Compatible」宣言と連動して機能します。

不正な形式のマークアップは、ほとんどすべてのシナリオでひどいように見えるクァークズモードをトリガーする可能性があります。ローカルでは問題ないように見えますが、確認は簡単なので、おそらくそうではありません。ドキュメントが適度に有効であること、そしてさらに重要なことに、DTDの前に先頭の文字がないことを確認してください(パーサーを混乱させます)。サーバーコードが正しくないと、HTMLの前にデータが応答ストリームに書き込まれ、この動作が発生する可能性があります。

最後に、問題を最も単純な形式に減らします。つまり、動作を引き起こす最も基本的なマークアップを見つけます。これで洞察が得られない場合は、壊れたコードをJSFiddleに投稿してください。

于 2012-07-30T11:19:00.920 に答える