簡體   English   中英

Internet Explorer 8現在在視圖源中顯示正在運行的代碼

[英]Internet Explorer 8 now running code showing in view source

因此,我在頁面底部有一個服務器控件:

<%= 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顯示彈出窗口?

您正在渲染重復的正文標簽,這可能就是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函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM