[英]creating a cookie failing with safari, chrome, ie but working with FF
[英]c# Ajax IsInAsyncPostBack not working in Chrome, FF or SAFARI - trouble with partial postback
我有一個帶有輪播的標准縮略圖庫,可以瀏覽縮略圖。 我有一組鏈接,當單擊它們時,會將縮略圖加載到輪播中。 在IE中,這非常棒且完美。 在Chrome,FF和Safari中,未檢測到部分回發,並且未在asyncpostback上重新加載js,因為頁面上的jQuery均已損壞/不起作用(即,切換淡入淡出,單擊事件未觸發隱藏)事件等)
編輯:**在HTML端,有2個更新面板,一個嵌套在另一個面板中。 我添加了可能有幫助的HTML代碼。 我已經刪除了大部分頁面內容,只剩下了更新面板,等等,這樣每個人都可以對html方面有所了解。
的HTML
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="updtPnlRedCarpet" runat="server">
<ContentTemplate>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div id="redCarpetCarousel">
<div class="redCarpet">
<asp:PlaceHolder ID="PlaceHolder1" runat="server" />
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</asp:UpdatePanel>
內置代碼隱藏PAGE_LOAD事件
if (ScriptManager.GetCurrent(this.Page).IsInAsyncPostBack)
{
RegisterClientStartupScript();
}
注冊客戶端啟動腳本代碼隱藏
private void RegisterClientStartupScript()
{
string path = Page.ResolveUrl("~/Scripts/jquery.msCarousel-min.js");
ScriptManager sManager = ScriptManager.GetCurrent(this.Page);
if (sManager != null && sManager.IsInAsyncPostBack)
{
ScriptManager.RegisterClientScriptInclude(
this.updtPnlRedCarpet, typeof(string), "include-js",
path);
ScriptManager.RegisterStartupScript(this.updtPnlRedCarpet, this.updtPnlRedCarpet.GetType(), "SliderScript",
"runTheCarousel();", true);
ScriptManager.RegisterStartupScript(this.updtPnlRedCarpet, this.updtPnlRedCarpet.GetType(), "ClickScript",
"loadThePage();", true);
}
else
{
this.Page.ClientScript.RegisterClientScriptInclude("SliderScript", path);
}
}
好的,因此FF,Chrome和Safari似乎不喜歡JavaScript函數之前的document.ready。 一旦我刪除了document.ready位,FF,Chrome和Safari就能夠找到這些功能,並且一切在宇宙中再次變得安靜。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.