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">

这样做是向用户显示一个弹出窗口,我这样做是为了在需要时在回发时显示。

这适用于所有主要的现代浏览器。它在 Internet Explorer 8 中不起作用,即使它出现在包括 IE8 在内的每个浏览器的代码中。当页面源的一部分时,如何让 IE8 显示弹出窗口?

4

1 回答 1

1

您正在渲染重复的正文标签,这可能是 IE 不选择它的原因。您应该在页面底部的标记之前输出 javascript 代码段</body>

<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 回答