<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html [ <!ENTITY % htmlDTD PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> %htmlDTD; <!ENTITY % netErrorDTD SYSTEM "chrome://global/locale/netError.dtd"> %netErrorDTD; <!ENTITY % globalDTD SYSTEM "chrome://global/locale/global.dtd"> %globalDTD; ]> <!-- ***** BEGIN LICENSE BLOCK ***** - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" basis, - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - for the specific language governing rights and limitations under the - License. - - The Original Code is mozilla.org code. - - The Initial Developer of the Original Code is - Netscape Communications Corporation. - Portions created by the Initial Developer are Copyright (C) 1998 - the Initial Developer. All Rights Reserved. - - Contributor(s): - Adam Lock <adamlock@netscape.com> - William R. Price <wrprice@alumni.rice.edu> - Henrik Skupin <mozilla@hskupin.info> - Jeff Walden <jwalden+code@mit.edu> - - Alternatively, the contents of this file may be used under the terms of - either the GNU General Public License Version 2 or later (the "GPL"), or - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - in which case the provisions of the GPL or the LGPL are applicable instead - of those above. If you wish to allow use of your version of this file only - under the terms of either the GPL or the LGPL, and not to allow others to - use your version of this file under the terms of the MPL, indicate your - decision by deleting the provisions above and replace them with the notice - and other provisions required by the LGPL or the GPL. If you do not delete - the provisions above, a recipient may use your version of this file under - the terms of any one of the MPL, the GPL or the LGPL. - - ***** END LICENSE BLOCK ***** --> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>&loadError.label;</title> <link rel="stylesheet" href="chrome://global/skin/netError.css" type="text/css" media="all" /> <!-- XXX this needs to be themeable --> <link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAANbY1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAICSURBVHjaYvz//z8DJQAggJhwiDPvnmlzc2aR0O+JGezt+AwACCCsBhxfYhn59N41FWtXIxZOLu70niRGXVwGAAQQNgNYHj96O8HaWYdJW5ubwd4/mI2Ng7sblwEAAYRhwMm1URk/vn4SUNWVYGD8+YZBXZOZm5OLzRjoCmNsBgAEEKoBN82Y7l851GLrqMjM8Oc7A8O/3wwMP54wuAQFCXNycUzGZgBAAKEYcOaKZO2/f//5FbUVgBrfMoRVcgHpNwyKGjKMXDwCan0prFboBgAEELIBzDcvXyy2cVZhYPj9GWj7H4jo/38MDJ9OMDj7O/KzsjH3oxsAEEBwA/bNNipiZf7FI6cqwcDw8x2qqp8fGORUpVn4BEXlgGHhhCwFEEAwA9gfP3hdZ+Oizcjw+wvCdjgAuuLrFQbXIH9hTm7uqcgyAAEENuD4ctcebm5mbikFYRTbV7V/Q6j88Z5BSuY7q4CQgAjQFR4wYYAAAhtw89L5ZFsnRaDtn4CW/YXrAQcisit+PGVwDgrnZ2NnnwATBQggpsNLvGYLCAmxi8tLARWg+h3FBVBXSEj/ZZWQkRcCuiIQJAQQQCyvnj5KMDTkZ2JgYmRg4FchnHv+vmEwttLmeXT3VjKQtx4ggFgk5TXebV63UfT3ijOMxOZAVlZWdiB1EMQGCCBGSrMzQIABAFR3kRM3KggZAAAAAElFTkSuQmCC" /> <script type="application/x-javascript"><![CDATA[ // Error url MUST be formatted like this: // moz-neterror:page?e=error&u=url&d=desc // Note that this file uses document.documentURI to get // the URL (with the format from above). This is because // document.location.href gets the current URI off the docshell, // which is the URL displayed in the location bar, i.e. // the URI that the user attempted to load. function getErrorCode() { var url = document.documentURI; var error = url.search(/e\=/); var duffUrl = url.search(/\&u\=/); return decodeURIComponent(url.slice(error + 2, duffUrl)); } function getDescription() { var url = document.documentURI; var desc = url.search(/d\=/); // desc == -1 if not found; if so, return an empty string // instead of what would turn out to be portions of the URI if (desc == -1) return ""; return decodeURIComponent(url.slice(desc + 2)); } function retryThis() { // Session history has the URL of the page that failed // to load, not the one of the error page. So, just call // reload(), which will also repost POST data correctly. try { location.reload(); } catch (e) { // We probably tried to reload a URI that caused an exception to // occur; e.g. a non-existent file. } } function initPage() { var err = getErrorCode(); // if it's an unknown error or there's no title or description // defined, get the generic message var errTitle = document.getElementById("et_" + err); var errDesc = document.getElementById("ed_" + err); if (!errTitle || !errDesc) { errTitle = document.getElementById("et_generic"); errDesc = document.getElementById("ed_generic"); } var title = document.getElementById("errorTitleText"); if (title) { title.parentNode.replaceChild(errTitle, title); // change id to the replaced child's id so styling works errTitle.id = "errorTitleText"; } var sd = document.getElementById("errorShortDescText"); if (sd) sd.textContent = getDescription(); var ld = document.getElementById("errorLongDesc"); if (ld) { ld.parentNode.replaceChild(errDesc, ld); // change id to the replaced child's id so styling works errDesc.id = "errorLongDesc"; } // remove undisplayed errors to avoid bug 39098 var errContainer = document.getElementById("errorContainer"); errContainer.parentNode.removeChild(errContainer); } ]]></script> </head> <body dir="&locale.dir;"> <!-- ERROR ITEM CONTAINER (removed during loading to avoid bug 39098) --> <div id="errorContainer"> <div id="errorTitlesContainer"> <h1 id="et_generic">&generic.title;</h1> <h1 id="et_dnsNotFound">&dnsNotFound.title;</h1> <h1 id="et_fileNotFound">&fileNotFound.title;</h1> <h1 id="et_malformedURI">&malformedURI.title;</h1> <h1 id="et_protocolNotFound">&protocolNotFound.title;</h1> <h1 id="et_connectionFailure">&connectionFailure.title;</h1> <h1 id="et_netTimeout">&netTimeout.title;</h1> <h1 id="et_redirectLoop">&redirectLoop.title;</h1> <h1 id="et_unknownSocketType">&unknownSocketType.title;</h1> <h1 id="et_netReset">&netReset.title;</h1> <h1 id="et_netOffline">&netOffline.title;</h1> <h1 id="et_netInterrupt">&netInterrupt.title;</h1> <h1 id="et_deniedPortAccess">&deniedPortAccess.title;</h1> <h1 id="et_proxyResolveFailure">&proxyResolveFailure.title;</h1> <h1 id="et_proxyConnectFailure">&proxyConnectFailure.title;</h1> </div> <div id="errorDescriptionsContainer"> <div id="ed_generic">&generic.longDesc;</div> <div id="ed_dnsNotFound">&dnsNotFound.longDesc;</div> <div id="ed_fileNotFound">&fileNotFound.longDesc;</div> <div id="ed_malformedURI">&malformedURI.longDesc;</div> <div id="ed_protocolNotFound">&protocolNotFound.longDesc;</div> <div id="ed_connectionFailure">&connectionFailure.longDesc;</div> <div id="ed_netTimeout">&netTimeout.longDesc;</div> <div id="ed_redirectLoop">&redirectLoop.longDesc;</div> <div id="ed_unknownSocketType">&unknownSocketType.longDesc;</div> <div id="ed_netReset">&netReset.longDesc;</div> <div id="ed_netOffline">&netOffline.longDesc;</div> <div id="ed_netInterrupt">&netInterrupt.longDesc;</div> <div id="ed_deniedPortAccess">&deniedPortAccess.longDesc;</div> <div id="ed_proxyResolveFailure">&proxyResolveFailure.longDesc;</div> <div id="ed_proxyConnectFailure">&proxyConnectFailure.longDesc;</div> </div> </div> <!-- PAGE CONTAINER (for styling purposes only) --> <div id="errorPageContainer"> <!-- Error Title --> <div id="errorTitle"> <h1 id="errorTitleText" /> </div> <!-- LONG CONTENT (the section most likely to require scrolling) --> <div id="errorLongContent"> <!-- Short Description --> <div id="errorShortDesc"> <p id="errorShortDescText" /> </div> <!-- Long Description (Note: See netError.dtd for used XHTML tags) --> <div id="errorLongDesc" /> </div> <!-- Retry Button --> <xul:button xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="errorTryAgain" label="&retry.label;" oncommand="retryThis();" /> </div> <!-- - Note: It is important to run the script this way, instead of using - an onload handler. This is because error pages are loaded as - LOAD_BACKGROUND, which means that onload handlers will not be executed. --> <script type="application/x-javascript">initPage();</script> </body> </html>