0

したがって、ページの下部にサーバー コントロールがあります。

<%= addPopup() %>

そのコードは次のとおりです。

protected String addPopup()
{
    if (usedSearch == false)
    {
        return "";
    }
    else
    {
        return "<body id=\"test\" onload=\"popup.show()\" runat=\"server\">";
    }
}

基本的に、ユーザーの操作に応じて、usedSearch は true または false になり、ページに HTML 行が追加されます。

<body onload="popup.show()" runat="server">

これが行うことは、ユーザーにポップアップを表示することです。これを行うと、必要に応じてポストバックに表示されます。

これは、すべての主要な最新ブラウザーで機能します。IE8 を含むすべてのブラウザーの分離コードに表示されますが、Internet Explorer 8 では機能しません。ページ ソースの一部である場合に IE8 でポップアップを表示するにはどうすればよいですか?

4

1 に答える 1

1

重複した body タグをレンダリングしています。おそらく、それが IE が検出しない理由です。</body>タグの前に、ページの下部に JavaScript スニペットを出力する必要があります。

<script type="text/javascript">
    if (window.addEventListener) {
      window.addEventListener('load', popup.show, false);
    }
    else if (window.attachEvent) {
      window.attachEvent('onload', popup.show );
    }
</script>

すべてのブラウザーで関数を onLoad イベントにアタッチします。

PS popup.show 関数がこのコードの前に初期化されていることを確認してください。

于 2013-08-12T17:42:21.357 に答える