3

シナリオ

.net (フレームワーク 1.1) で開発された非常に古い Web サイトがあります。このサイトには、互換表示を使用して修正できる Internet Explorer 10/11 に関するいくつかの問題があります。

問題

問題は、フレームワーク 1.1 が Internet Explorer 10/11 を拡張機能ブラウザーとして認識しないため、Internet Explorer 10/11 を使用しているユーザーが Web サイトにアクセスすると、多くの機能 (JavaScript コードなど) が無効になることです。

Microsoft は、.net フレームワーク バージョン >=2.0 ではこの問題を修正するパッチをリリースしましたが、フレームワーク 1.1 では修正しませんでした。

私がすでに試したこと

  1. web.configでIE7互換モードを強制するか、IISにHTTPヘッダーを追加するか、HTMLページ内に直接追加しようとしました:

    <meta http-equiv="X-UA-Compatible" content="IE=7" />
    

    しかし、これは有効な解決策ではありません。なぜなら、1.1 フレームワークの問題により JavaScript コードがまだ欠落しているからです。

  2. 私が見つけた唯一の有効な解決策は、ブラウザで互換表示を手動で設定することですが、一部の顧客は、PC に自信がないため、互換表示を有効にする際に問題を抱えています。

私の2セント

おそらく最善の解決策は、プロジェクト全体を新しいバージョンのフレームワーク (>=2.0) に変換することです。残念ながら、プロジェクトは巨大であり、その変換は非常に複雑になります (解決策には他の多くのプロジェクトが含まれています。従来の ASP セクション、Crystal Reports レポートなど...)

本当の質問

プロジェクトの変換やエンド ユーザーによる手動操作を必要としないソリューションはありますか?

4

4 に答える 4

1

私はなんとか解決策を見つけました。基本的に、アプリケーションがまだ Framework 1.1 でコンパイルされている間に、アプリケーションを Framework 4.0 で実行するように再ターゲットします。

これを達成するために、このMSDN ページに従いました。ここに抜粋があります:

アプリケーションを再ターゲットして、.NET Framework 4 で実行できます。再ターゲットするには、.NET Framework 4 で実行できるようにする要素をアプリケーションの構成ファイルに追加する必要があります。このような構成ファイルは、次の形式を取ります。

<configuration> 
   <startup>
      <supportedRuntime version="v4.0"/>
   </startup>
</configuration>

だから私の問題は2つのステップで解決されます:

  1. このセクションを Framework 1.1 Web アプリケーションの web.config ファイルに追加します。

    <configuration> 
       <startup>
          <supportedRuntime version="v4.0"/>
       </startup>
    </configuration>
    
  2. IIS で新しいアプリケーション プールを作成し、古い Framework 1.1 Web アプリケーションを構成して、新しく作成したプールで Framework 4.0 を実行します。

現在、アプリケーションは Framework 4.0 で実行されるため、新しいブラウザーが正しく認識され、高度な機能を利用できます。

于 2014-01-22T15:53:37.600 に答える
1

このためにIISを構成してみてください-

IIS にカスタム HTTP 応答ヘッダーを追加する

IIS の Web サイト レベル、フォルダー レベル、または仮想ディレクトリ レベルでカスタム HTTP 応答ヘッダーを追加するには、使用している IIS のバージョンの手順に従います。

Windows Server 2008 ベースの Web サーバー上の IIS 7

  1. IIS マネージャーを起動します。これを行うには、[スタート]、[ファイル名を指定して実行] の順にクリックし、「inetmgr」と入力して、[OK] をクリックします。
  2. [接続] で目的のサーバーをダブルクリックし、[サイト] をダブルクリックします。
  3. カスタム HTTP 応答ヘッダーを追加する Web サイト、フォルダー、または仮想ディレクトリをクリックします。
  4. [ホーム] の下で、IIS セクションの [HTTP 応答ヘッダー] をダブルクリックします。注意:プレースホルダは、 Web サイトの名前を参照します。
  5. [アクション] で、[追加] をクリックします。
  6. [名前] ボックスに、「X-UA-Compatible」と入力します。
  7. [値] ボックスに「IE=EmulateIE7」と入力します。
  8. [OK] をクリックします。

IIS 6 以前のバージョン

  1. [スタート] ボタン、[ファイル名を指定して実行] の順にクリックし、[名前] ボックスに「inetmgr.exe」と入力して、[OK] をクリックします。
  2. 目的のサーバーを展開し、[Web サイト] を展開します。
  3. 目的の Web サイト、フォルダー、または仮想ディレクトリを右クリックし、[プロパティ] をクリックします。
  4. [HTTP ヘッダー] タブで、[カスタム HTTP ヘッダー] の下の [追加] をクリックします。
  5. [カスタム ヘッダー名] ボックスに、「X-UA-Compatible」と入力します。
  6. [カスタム ヘッダー] 値ボックスに、IE=EmulateIE7 と入力します。
  7. [OK] を 2 回クリックします。

詳細については、このリンクを参照してください

于 2013-10-15T13:01:32.227 に答える