web-dev-qa-db-ja.com

JavaScriptをWindowsフォームWebブラウザーで実行できるようにする

ロード時にJavaScriptを使用するWebサイトにアクセスするには、Webブラウザーを使用します。 Web Browserは、現在インストールされているInternet Explorerのラッパーであることを理解しています。ただし、Internet ExplorerでWebサイトをテストしてもエラーは発生しませんが、Webブラウザーを使用してコンテンツにアクセスしても機能しません。

また、インターネットセキュリティ設定を調べて、有効になっていることを確認しました。

私が得る問題は次のとおりです。

Error in Web Browser

18
Ryanas

ぎこちなく、私はこれを投稿した後、答えの瞬間を見つけましたが、私と同じ問題に出くわした人は誰でもこの答えに慰めを見つけると思いました。

Internet Explorerの最新バージョンをダウンロードするだけでは不十分なようです。新しいレジストリキーを追加して、使用するIEのバージョンを明示的に指定する必要があります。

HTML修正。

<!DOCTYPE html> 
<html> 
  <head> 
    <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> 
    ... other headers
  </head>
  <body>
    ... content
  </body>
</html>  

レジストリ経由;

64ビットまたは32ビットのみのマシンの場合、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATIONに移動します。

または、HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATIONに移動します(64ビットシステムでは32ビットです)キーがある場合は両方の場所にキーを追加します。キーがない場合は、自分でフォルダを作成できます)。

新しいDWORDキーを作成し、アプリケーションの名前を付けます。 「myapp.exe」をクリックし、キーの値を編集します。エミュレートするIEバージョンに応じて、追加できる多くの異なる値があります。 IE 11をエミュレートする1​​1001(HEXでは10進数値-0x2AF9)を入力しました(多くの値は http://msdn.Microsoft.com/en-us/libraryにあります) /ee330730%28v=vs.85%29.aspx#browser_emulation )。

私のようにVisual Studioを使用している場合、このメソッドが機能しない可能性があることに気付くでしょう。ただし、機能します。 Visual Studioでプロジェクトを実行するのではなく、エクスプローラーまたはターミナルを使用して.exeファイルを手動で開く必要があります。

Visual Studioでプログラムを実行する場合は、デバッグに使用される「myapp.vshost.exe」のキーを追加することを検討してください。

詳細およびソースは以下からのものです。 http://weblog.west-wind.com/posts/2011/May/21/Web-Browser-Control-Specifying-the-IE-Version

これが、間違ったIEバージョンをラッパーとして使用しているWebブラウザに関する問題を抱えている人の助けになるか、関数が意図したとおりに機能しないことを願っています。

23
Ryanas
 <!DOCTYPE html> 
<html> 
  <head> 
    <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> 
    ... other headers
  </head>
  <body>
    ... content
  </body>
</html>  

これはうまくいきます、これはライアン・シンの答えの夏です

16
PrathapG