2012-08-31 89 views
9

私はモバイルアプリケーションを(asp.net内で)開発しており、WebBrowserコントロールを使用してデモするWinFormsアプリケーションを使用しています。オブジェクトはプロパティまたはメソッドをサポートしていませんWebBrowserコントロール

私は、アドレスバーを非表示にするスクリプトを使用しています私のメインページ:

<script type="text/javascript"> 
    window.addEventListener("load", function() { 
     // Set a timeout... 
     setTimeout(function() { 
      // Hide the address bar! 
      window.scrollTo(0, 1); 
     }, 0); 
    }); 
</script> 

これはOK、いくつかのマシンを働いたが、ページのロード時に新しいマシン上で今朝は私がポップアップに遭遇しました:

を問題の

enter image description here

マシンIE9をインストールし、私はチェックDisable Script Debugging設定がありました。

この問題に取り組む最も良い方法は何ですか。 JSで条件を追加してIEで実行しないようにすることはできますか?

+1

IE9ツール>オプション設定がWebブラウザーコントロールで使用されていないようです。したがって、IEで「Disable Script Debugging」がチェックされていても、この設定はコントロールに伝播されません。 「WebBrowser.ScriptErrorsSuppressed = True」を使用して、このコントロールをオフに切り替えることができました。 –

答えて

22

この問題は2012年以降のことですが、回答があります。あなたは

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

のWinForms WebBrowserコントロールを記述する必要があるスクリプトが追加され<head>文書の上部に

は、Internet Explorerを使用しているが、あなたはそこに最新バージョンを強制する必要があります。たとえば。 jQuery 2+を使用している場合は、IE 9以降が必要です。バージョン9以上を使用する必要があります。

+0

ライフセーバー!ありがとう! – dan

0

Webブラウザーコントロールは、Internet Explorer自体の一部です。 Internet Explorerはwindow.addEventListenerメソッドをサポートしていません。代わりにwindow.attachEventメソッドを使用してください。

だからあなたのページ内のスクリプトが

window.attachEvent("load", function() { 
    // Set a timeout... 
    setTimeout(function() { 
     // Hide the address bar! 
     window.scrollTo(0, 1); 
    }, 0); 
}); 

のように読み込みますが、これはあなたを助けるでしょう願っています!

+0

http://msdn.microsoft.com/en-us/library/ie/ff975245%28v=vs.85%29.aspx IE9がaddEventListenerをサポートしていることを示唆します。 WebBrowserコントロールがインストールされている場合IE9を使用しますか? –

1

Webブラウザコントロールはjquery v2をサポートしません。

jquery 1.9.1を使用してください。

<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
関連する問題