I have a Master Page that is a child of another master page. The child master page has a RadTabStrip and RadMultiPage with a RadAjaxPanel to load tabs dynamically. The parent master page has an AddThis widget. For some reason, in Firefox (and only in Firefox), when I click on a tab for the first time, it loads fine, but with the following error:
Error: uncaught exception: [Exception... "Security error" code: "1000" nsresult: "0x805303e8 (NS_ERROR_DOM_SECURITY_ERR)" location: "http://devweb.tmforum.org/community/ScriptResource.axd?d=k49SRXxqYWiQi1h5ak56cz6yVdfy-wma__9J5UH8u6pGwBj_haSG64G2I9bxGyRx0&t=633767702680000000 Line: 498"]
When I then click on a different tab nothing happens. If I remove the AddThis widget it works fine.
Also, on a simple aspx page, no master page with the same setup and the AddThis widget directly after the close of the RadAjaxPanel, there are no problems.
Can anyone shine any light on this?
Thanks,
Boris Zakharin
Error: uncaught exception: [Exception... "Security error" code: "1000" nsresult: "0x805303e8 (NS_ERROR_DOM_SECURITY_ERR)" location: "http://devweb.tmforum.org/community/ScriptResource.axd?d=k49SRXxqYWiQi1h5ak56cz6yVdfy-wma__9J5UH8u6pGwBj_haSG64G2I9bxGyRx0&t=633767702680000000 Line: 498"]
When I then click on a different tab nothing happens. If I remove the AddThis widget it works fine.
Also, on a simple aspx page, no master page with the same setup and the AddThis widget directly after the close of the RadAjaxPanel, there are no problems.
Can anyone shine any light on this?
Thanks,
Boris Zakharin
3 Answers, 1 is accepted
0
Hi Boris,
From the provided explanation I;m not able to isolate the cause oft he error you are facing. Could you please post some code from the problematic page so we could further research on it. Also if it is convenient for you please open a regular support ticket and send us sample runnable application which demonstrates the problem. This will give us the option to debug it locally and advise you further.
Regards,
Maria Ilieva
the Telerik team
From the provided explanation I;m not able to isolate the cause oft he error you are facing. Could you please post some code from the problematic page so we could further research on it. Also if it is convenient for you please open a regular support ticket and send us sample runnable application which demonstrates the problem. This will give us the option to debug it locally and advise you further.
Regards,
Maria Ilieva
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
0
Boris
Top achievements
Rank 1
answered on 06 Aug 2010, 02:46 PM
master.Master the main master page:
The master page with the tabstrip (homepage.Master):
The child page (home.aspx):
<%@ Master Language="C#" AutoEventWireup="true" %>...<%@ Import Namespace="CommunityServer" %><%@ Import Namespace="CommunityServer.Components" %><%@ Import Namespace="System.Data" %><%@ Import Namespace="System.Data.SqlClient" %><%@ Import Namespace="System.Web.UI" %><script runat="server" language="C#">... private static readonly Regex REGEX_BETWEEN_TAGS = new Regex(@">\s+<", RegexOptions.Compiled); private static readonly Regex REGEX_LINE_BREAKS = new Regex(@"\n\s+", RegexOptions.Compiled); /// <summary> /// Initializes the <see cref="T:System.Web.UI.HtmlTextWriter"></see> object and calls on the child /// controls of the <see cref="T:System.Web.UI.Page"></see> to render. /// </summary> /// <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter"></see> that receives the page content.</param> protected override void Render(HtmlTextWriter writer) { using (HtmlTextWriter htmlwriter = new HtmlTextWriter(new System.IO.StringWriter())) { base.Render(htmlwriter); string html = htmlwriter.InnerWriter.ToString(); html = REGEX_BETWEEN_TAGS.Replace(html, "> <"); html = REGEX_LINE_BREAKS.Replace(html, "\n"); writer.Write(html.Trim()); } }...</script><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head runat="server"> <meta http-equiv="X-UA-Compatible" content="IE=7" /> <CSControl:Head runat="Server" > <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />... <asp:ContentPlaceHolder runat="server" id="HeaderRegion" /> </CSControl:Head> <CSControl:Script ID="script2" runat="server" Visible="true" Src="~/themes/tmforum/jquery/jquery.js" />... </head> <body id="b" runat="server"> <form runat="server"> <asp:ScriptManager id="oSM" runat="server" /> <table style="width:100%;" cellpadding="0" cellspacing="0"><tr><td align="center"> <table style="width:1000px;" cellpadding="0" cellspacing="0"><tr><td><table style="text-align:left;" cellpadding="0" cellspacing="0"><tr><td>... <div id="CommonSidebarRight"> <asp:ContentPlaceHolder id="rcr" runat="server" /> </div> <div>... <div style="clear:both"></div> <table cellspacing="0" cellpadding="0" width="100%" > <tr> <td align="center" class="menusmall" style="height: 20px;" nowrap> <!-- AddThis Button BEGIN --> <script type="text/javascript">addthis_pub = 'jphillips_tmforum';addthis_logo_background = 'EFEFFF';addthis_logo_color = '666699';addthis_brand = 'TMForum.org';addthis_options = 'favorites, digg, delicious, myspace, facebook, google, live, more'; </script> <p><a href="http://www.addthis.com/bookmark.php" onmouseover="return addthis_open(this, '', '[URL]', '[TITLE]')" onmouseout="addthis_close()" onclick="return addthis_sendto()"> <img src="http://s7.addthis.com/button1-share.gif" width="125" height="16" border="0" alt="" /></a><script type="text/javascript" src="http://s7.addthis.com/js/152/addthis_widget.js"></script></p> <!-- AddThis Button END --> </td> </tr>...</table>...</td></tr></table> </form>... </body></html><%@ Master Language="C#" AutoEventWireup="true" MasterPageFile="master.Master" %><%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>...<script runat="server" type="text/C#">... public RadTabStrip RtsHome { get { return rtsHome; } } void Page_Load() { int userID = CommunityServer.Components.CSContext.Current.User.UserID; loginDate = GetPrevLoginDate(userID); for (int ctr = 0; ctr < rtsHome.Tabs.Count; ++ctr) rtsHome.Tabs[ctr].NavigateUrl = ConfigurationManager.AppSettings["CSBaseHref"] + "default.aspx?tab=" + ctr.ToString(); rtsHome.DataBind(); if (!IsPostBack) { int selectedIndex = 0; if (Request["tab"] != null) selectedIndex = int.Parse(Request["tab"]); SelectTab(rtsHome.Tabs[selectedIndex]); } }... private void rmpHome_PageViewCreated(object sender, RadMultiPageEventArgs e) { switch (e.PageView.ID) { case "rpvGroups": wucGroupActivity groups = new wucGroupActivity(); groups.ID = "groups"; groups.FirstPageView = firstPageView; e.PageView.Controls.Add(groups); break; case "rpvInbox": wucInbox inbox = new wucInbox(); inbox.ID = "inbox"; inbox.FirstPageView = firstPageView; e.PageView.Controls.Add(inbox); break; case "rpvConnections": wucConnections conn = new wucConnections(); conn.ID = "conn"; conn.FirstPageView = firstPageView; e.PageView.Controls.Add(conn); break; case "rpvBlogs": wucCombinedBlogControl cbc = new wucCombinedBlogControl(); cbc.ID = "CBC"; cbc.FirstPageView = firstPageView; e.PageView.Controls.Add(cbc); cbc.ShowSort = false; cbc.BlogControlStyle = wucCombinedBlogControl.ControlStyle.HomePage; cbc.SubscriptionOnly = true; cbc.EnableViewState = true; break; default: e.PageView.Controls.Add(new LiteralControl("Error")); break; } } protected void rtsHome_TabClick(object sender, RadTabStripEventArgs e) { SelectTab(e.Tab); } private void SelectTab(RadTab tab) { if (tab.NavigateUrl == "") { firstPageView = true; RadPageView view = new RadPageView(); view.ID = tab.PageViewID; rmpHome.PageViews.Add(view); tab.PageView.Selected = true; } rtsHome.SelectedIndex = tab.Index; }</script><asp:Content ContentPlaceHolderID="HeaderRegion" runat="server" ><link rel="stylesheet" type="text/css" href="/include/subModal/subModal.css" /><script type="text/javascript" src="/include/subModal/common.js"></script><script type="text/javascript" src="/include/subModal/subModal.js"></script><script type="text/javascript">...//Cookie name var tabCookieName = "currentTab";//Variable to hold reference to tabstrip var tabstrip;function onClientTabLoad(sender) { //Get reference to tabstrip tabstrip = sender;}function onTabSelecting(sender, args){ if (args.get_tab().get_pageViewID()) { args.get_tab().set_postBack(false); }}function saveTabIndex(tabText) { //Call JS function to save cookie name, tab text, //and days before cookie should expire setCookie(tabCookieName, tabText, 1);}//Cookie operation helper function //Save the value to a cookie and set expiration date function setCookie(c_name, value, expiredays) { var exdate = new Date(); exdate.setDate(exdate.getDate() + expiredays); document.cookie = c_name + "=" + escape(value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString());}function loadTabIndex(tabstrip) { //If tabstrip reference isn't null if (tabstrip != null) { //Get cookie value var tabText = getCookie(tabCookieName); var historyLength = getCookie("historyLength"); //If text from the cookie exists if (tabText != "" && tabText != null) { //Set tabstrip selected index var tab = tabstrip.findTabByText(tabText); //Get tab object if (tab != null) { tab.select(); //Select tab } } }}//pageLoad automatically called by ASPNET AJAX when page ready function pageLoad() { //Must do tab strip select here so that //multipage is initialized and updated <%if (IsPostBack) { %> loadTabIndex(tabstrip); <%} %> setCookie("historyLength", window.history.length, 1);}//Cookie helper function //Gets a cookie based on supplied name and returns value //as a string function getCookie(c_name) { try { if (document.cookie.length > 0) { c_start = document.cookie.indexOf(c_name + "="); if (c_start != -1) { c_start = c_start + c_name.length + 1; c_end = document.cookie.indexOf(";", c_start); if (c_end == -1) c_end = document.cookie.length; return unescape(document.cookie.substring(c_start, c_end)); } } } catch (err) { } //If there is an error or no cookie //return an empty string return "";}function onClientTabSelected(sender, args) { //Persist selected tab text var tabText = args.get_tab().get_text(); //Save text to a cookie using JavaScript saveTabIndex(tabText);}function onClientTabUnselected(sender, args) { //Persist selected tab text var tabText = args.get_tab().get_text(); //Save text to a cookie using JavaScript setCookie(tabText, new Date(), 7); saveTabIndex(tabText);}</script> <CSControl:SelectedNavigation Selected="home" runat="Server" /></asp:Content>...<asp:Content ContentPlaceHolderID="bcr" runat="server"><div class="grey_border"> <telerik:RadAjaxLoadingPanel ID="loadPnlTabs" runat="server" EnableAjaxSkinRendering="true" Transparency="20" BackColor="#E0E0E0"> <img alt="Loading..." src='<%=ConfigurationManager.AppSettings["CSBaseHRef"] %>themes/tmforum/images/theme/ajax-loader.gif' style="padding-top:100px"/> </telerik:RadAjaxLoadingPanel> <telerik:RadAjaxPanel ID="pnlTabs" runat="server" EnableAJAX="true" LoadingPanelID="loadPnlTabs"> <telerik:RadTabStrip ID="rtsHome" runat="server" MultiPageID="rmpHome" Width="100%" OnClientTabSelected="onClientTabSelected" OnClientLoad="onClientTabLoad" Align="Justify" OnTabClick="rtsHome_TabClick" OnClientTabSelecting="onTabSelecting" OnClientTabUnSelected="onClientTabUnselected" CssClass="HomeTabStrip" Skin="" EnableEmbeddedSkins="false"> <Tabs> <telerik:RadTab runat="server" PageViewID="rpvGroups" Text="Group Activity" CssClass="HomeTabWithFlag" SelectedCssClass="HomeTabWithFlagSelected" /> <telerik:RadTab runat="server" PageViewID="rpvInbox" Text="Inbox" CssClass="HomeTabWithFlag" SelectedCssClass="HomeTabWithFlagSelected" /> <telerik:RadTab runat="server" PageViewID="rpvConnections" Text="Connections' Activity" CssClass="HomeTabWithFlag" SelectedCssClass="HomeTabWithFlagSelected" /> <telerik:RadTab runat="server" PageViewID="rpvBlogs" Text="Latest Blogs" CssClass="HomeTabWithFlag" SelectedCssClass="HomeTabWithFlagSelected" /> </Tabs> <TabTemplate> <TMFUserControls:FN runat="server" ID="fnInbox" FlagType='<%# DataBinder.Eval(Container, "Index") %>' TabText='<%# DataBinder.Eval(Container, "Text") %>' HyperLink='<%# DataBinder.Eval(Container, "NavigateUrl") %>' StartDate='<%# loginDate %>' /> </TabTemplate> </telerik:RadTabStrip> <telerik:RadMultiPage ID="rmpHome" runat="server" SelectedIndex="0" Width="100%" OnPageViewCreated="rmpHome_PageViewCreated"> </telerik:RadMultiPage> </telerik:RadAjaxPanel> <div style="float:left;"> <asp:ContentPlaceHolder id="bcr" runat="server" /> </div> <div style="float:right;"> <asp:ContentPlaceHolder id="rcr" runat="server" /> </div> <div style="clear:both;"></div> </div></asp:Content>...<%@ Page EnableViewState="true" Language="C#" AutoEventWireup="true" Inherits="CommunityServer.Controls.CSThemePage" MasterPageFile="homepage.Master" SmartNavigation="true" %> <%@ Import Namespace="CommunityServer.Components" %><%@ Import Namespace="CommunityServer.Controls" %><%@ Import Namespace="System.IO" %><%@ Import Namespace="System.IO.Compression" %><%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %><script runat="server" language="C#"> public static class Compressor { public static byte[] Compress(byte[] data) { MemoryStream output = new MemoryStream(); GZipStream gzip = new GZipStream(output, CompressionMode.Compress, true); gzip.Write(data, 0, data.Length); gzip.Close(); return output.ToArray(); } public static byte[] Decompress(byte[] data) { MemoryStream input = new MemoryStream(); input.Write(data, 0, data.Length); input.Position = 0; GZipStream gzip = new GZipStream(input, CompressionMode.Decompress, true); MemoryStream output = new MemoryStream(); byte[] buff = new byte[64]; int read = -1; read = gzip.Read(buff, 0, buff.Length); while (read > 0) { output.Write(buff, 0, read); read = gzip.Read(buff, 0, buff.Length); } gzip.Close(); return output.ToArray(); } } User user = CSContext.Current.User; protected override object LoadPageStateFromPersistenceMedium() { String alteredViewState; byte[] bytes; Object rawViewState; LosFormatter fomatter = new LosFormatter(); this.PageStatePersister.Load(); alteredViewState = this.PageStatePersister.ViewState.ToString(); bytes = Convert.FromBase64String(alteredViewState); bytes = Compressor.Decompress(bytes); rawViewState = fomatter.Deserialize(Convert.ToBase64String(bytes)); return new Pair(this.PageStatePersister.ControlState, rawViewState); } protected override void SavePageStateToPersistenceMedium(object viewStateIn) { LosFormatter fomatter = new LosFormatter(); StringWriter writer = new StringWriter(); Pair rawPair; Object rawViewState; String rawViewStateStr; String alteredViewState; byte[] bytes; if (viewStateIn is Pair) { rawPair = ((Pair)viewStateIn); this.PageStatePersister.ControlState = rawPair.First; rawViewState = rawPair.Second; } else { rawViewState = viewStateIn; } fomatter.Serialize(writer, rawViewState); rawViewStateStr = writer.ToString(); bytes = Convert.FromBase64String(rawViewStateStr); bytes = Compressor.Compress(bytes); alteredViewState = Convert.ToBase64String(bytes); this.PageStatePersister.ViewState = alteredViewState; this.PageStatePersister.Save(); }... void Page_Init() { RadTabStrip rtsHome = (RadTabStrip)((ASP.themes_tmforum_common_homepage_master)Master).RtsHome; rtsHome.DataBinding += rtsHome_Load; } protected void rtsHome_Load(object sender, EventArgs e) { RadTabStrip rtsHome = (RadTabStrip)sender; foreach (RadTab tab in rtsHome.Tabs) tab.NavigateUrl = ""; }</script><asp:Content ContentPlaceHolderID="tr" runat="server"></asp:Content> 0
Hello Boris,
Best wishes,
Maria Ilieva
the Telerik team
I researched on the provided code, however was not able to found anything obvious that may cause the described error. It will be best to open a regular support ticket and send us sample runnable application so we could debug it locally and further investigate on the root cause of the issue.
Best wishes,
Maria Ilieva
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items