14

私は (asp.net で) モバイル アプリを開発しました。WebBrowser コントロールを備えた WinForms アプリケーションを使用してデモを行っています。

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

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

これはいくつかのマシンで問題なく機能しましたが、今朝、新しいマシンでページの読み込み時にポップアップが表示されました。

ここに画像の説明を入力

問題のマシンにはIE9がインストールされており、Disable Script Debugging設定はチェック済みです。

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

4

3 に答える 3

34

この問題は 2012 年のものであることはわかっていますが、答えはあります。

<head>スクリプトが追加されたドキュメントの上部に、次のように書く必要があります

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

WinForms WebBrowser コントロールは Internet Explorer を使用していますが、最新バージョンを適用する必要があります。たとえば。jQuery 2+ を使用している場合は IE 9+ が必要なので、少なくともバージョン 9 以降を使用する必要があります。

于 2015-01-16T07:52:38.270 に答える
2

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

jquery 1.9.1 を使用します。

<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
于 2016-02-02T08:29:56.933 に答える
0

Webbrowser コントロールは、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);
});

これがあなたを助けることを願っています!

于 2012-08-31T13:33:54.963 に答える