2013-02-11 142 views
0

当用户登录我的网站时,我检查是否有任何活动促销,如果有,我想在弹出的iFrame中显示一条消息。iFrame无法在Chrome中加载

这适用于IE8和IE9,但不适用于FF或Chrome。

使用Chrome时,页面只是循环遍历document.ready函数...也就是说,它执行document.ready和showOpeningMessages()中的代码,但不显示iFrame,然后立即返回到document.ready并重复该过程,就像页面正在重新加载一样。

下面是代码:

在C#中的页面加载

  // session variable will be null to begin with to display message 
     string promotionOpeningMessagesViewed = Session["promotionOpeningMessagesViewed"] == null ? "0" : "1"; 



     Page.ClientScript.RegisterClientScriptBlock(this.GetType(), 
"pageScript", @" 

function openingMessagesModalID() 
{ 
    var id = '" + promotionOpeningMessagesPanel.ClientID + @"'; 
    return id; 
} 

function countOpeningMessages() 
{ 
    var id = '" + mgr.PromotionOpeningMessageList.Count.ToString() + @"'; 
    return id; 
} 

function showOpeningMessages() 
{ 
    $('#iframepromotionOpeningMessages').attr('src','PromotionOpeningMessages.aspx'); 
    document.getElementById('" + okayOpeningMessagesButton.ClientID + @"').style.display = 'block'; 
} 

$(document).ready(function() { 

    if (countOpeningMessages() != '0' && '" + promotionOpeningMessagesViewed + @"' == '0') { 
     document.getElementById('" + dummyButton.ClientID + @"').click(); 
    }; 
}); 

", true); 

这部分后面的代码标记:

<asp:Panel runat="server" ID="promotionOpeningMessagesPanel" style="display:none;" CssClass="openingMessageBox" > 
    <iframe id="iframepromotionOpeningMessages" frameborder="0" src="about:blank" style="border:none; width: 100%; height: 90% "></iframe> 
    <asp:LinkButton ID="okayOpeningMessagesButton" runat="server" 
       Text="<%$ Resources:UIText, OK%>" 
       CssClass="buttons positive BtnAdd rightAlignButton" 
       style="display:none;" /> 
    <asp:LinkButton ID="dummyButton" runat="server" 
       Text="<%$ Resources:UIText, OK%>" 
       CssClass="buttons positive BtnAdd" 
       OnClientClick="showOpeningMessages();" 
       style="display:none;" /> 
</asp:Panel> 

<ajaxControlToolkit:ModalPopupExtender runat="server" 
    ID="promotionOpeningMessagesModalPopupExtender" 
    BehaviorID="promotionOpeningMessagesModalPopupExtender" 
    BackgroundCssClass="modalBackground" 
    PopupControlID="promotionOpeningMessagesPanel" 
    RepositionMode="RepositionOnWindowResizeAndScroll" 
    OkControlID="okayOpeningMessagesButton" 
    TargetControlID="dummyButton" /> 

预先感谢帮助

+0

我怀疑这与c#有什么关系。您需要发布生成的html以及chrome控制台输出的任何错误消息。 – 2013-06-12 07:57:51

回答

0

我决定在另一条路线上并重新编写代码,以便使用JQuery Popup Dialog API和th是更好的作品。

+0

请发布您用于完成此工作的代码;) – 2013-06-12 12:39:21