InternetExplorer8现在运行的代码显示在视图源代码中

本文关键字:视图 源代码 显示 运行 InternetExplorer8 代码 | 更新日期: 2023-09-27 18:27:26

所以我在页面底部有一个服务器控件:

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

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

这适用于所有主要的现代浏览器。它在InternetExplorer8中不起作用,尽管它出现在包括IE8在内的所有浏览器的代码后面。当IE8是页面源的一部分时,我如何让它显示弹出窗口?

InternetExplorer8现在运行的代码显示在视图源代码中

您正在呈现重复的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事件。

附言:只需确保您的popup.show函数在执行此代码之前已初始化。