neterror.html 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. <!doctype html>
  2. <html dir="$i18n{textdirection}" lang="$i18n{language}">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="color-scheme" content="light dark">
  6. <meta name="theme-color" content="#fff">
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0,
  8. maximum-scale=1.0, user-scalable=no">
  9. <title>$i18n{title}</title>
  10. <link rel="stylesheet" href="../../../components/security_interstitials/core/common/resources/interstitial_core.css">
  11. <link rel="stylesheet" href="../../../components/security_interstitials/core/common/resources/interstitial_common.css">
  12. <link rel="stylesheet" href="neterror.css">
  13. <script src="neterror.js"></script>
  14. <script src="../../../components/security_interstitials/core/common/resources/interstitial_mobile_nav.js"></script>
  15. <script src="offline.js"></script>
  16. <script src="offline-sprite-definitions.js"></script>
  17. <if expr="is_ios">
  18. <script src="error_page_controller_ios.js"></script>
  19. </if>
  20. </head>
  21. <body id="t" class="neterror" style="font-family: $i18n{fontfamily}; font-size: $i18n{fontsize}">
  22. <div id="main-frame-error" class="interstitial-wrapper">
  23. <div id="main-content">
  24. <div class="icon"></div>
  25. <div id="main-message">
  26. <h1>
  27. <span jsselect="heading" jsvalues=".innerHTML:msg"></span>
  28. <a id="error-information-button" class="hidden" onclick="toggleErrorInformationPopup();"></a>
  29. </h1>
  30. <p jsselect="summary" jsvalues=".innerHTML:msg"></p>
  31. <!--The suggestion list and error code are normally presented inline,
  32. in which case error-information-popup-* divs have no effect. When
  33. error-information-popup-container has the use-popup-container class, this
  34. information is provided in a popup instead.-->
  35. <div id="error-information-popup-container">
  36. <div id="error-information-popup">
  37. <div id="error-information-popup-box">
  38. <div id="error-information-popup-content">
  39. <div id="suggestions-list" style="display:none"
  40. jsdisplay="(suggestionsSummaryList && suggestionsSummaryList.length)">
  41. <p jsvalues=".innerHTML:suggestionsSummaryListHeader"></p>
  42. <ul jsvalues=".className:suggestionsSummaryList.length == 1 ? 'single-suggestion' : ''">
  43. <li jsselect="suggestionsSummaryList" jsvalues=".innerHTML:summary"></li>
  44. </ul>
  45. </div>
  46. <div class="error-code" jscontent="errorCode"></div>
  47. <p id="error-information-popup-close">
  48. <a class="link-button" jscontent="closeDescriptionPopup" onclick="toggleErrorInformationPopup();"></a>
  49. </p>
  50. </div>
  51. </div>
  52. </div>
  53. </div>
  54. <div id="download-links-wrapper" class="hidden">
  55. <div id="download-link-wrapper">
  56. <a id="download-link" class="link-button"
  57. onclick="downloadButtonClick()" jsselect="downloadButton"
  58. jscontent="msg" jsvalues=".disabledText:disabledMsg">
  59. </a>
  60. </div>
  61. <div id="download-link-clicked-wrapper" class="hidden">
  62. <div id="download-link-clicked" class="link-button"
  63. jsselect="downloadButton" jscontent="disabledMsg">
  64. </div>
  65. </div>
  66. </div>
  67. <div id="save-page-for-later-button" class="hidden">
  68. <a class="link-button" onclick="savePageLaterClick()"
  69. jsselect="savePageLater" jscontent="savePageMsg">
  70. </a>
  71. </div>
  72. <div id="cancel-save-page-button" class="hidden"
  73. onclick="cancelSavePageClick()" jsselect="savePageLater"
  74. jsvalues=".innerHTML:cancelMsg">
  75. </div>
  76. <div id="offline-content-list" class="list-hidden" hidden>
  77. <div id="offline-content-list-visibility-card"
  78. onclick="toggleOfflineContentListVisibility(true)">
  79. <div id="offline-content-list-title"
  80. jsselect="offlineContentList" jscontent="title">
  81. </div>
  82. <div>
  83. <div id="offline-content-list-show-text"
  84. jsselect="offlineContentList" jscontent="showText">
  85. </div>
  86. <div id="offline-content-list-hide-text"
  87. jsselect="offlineContentList" jscontent="hideText">
  88. </div>
  89. </div>
  90. </div>
  91. <div id="offline-content-suggestions"></div>
  92. <div id="offline-content-list-action">
  93. <a class="link-button" onclick="launchDownloadsPage()"
  94. jsselect="offlineContentList" jscontent="actionText">
  95. </a>
  96. </div>
  97. </div>
  98. </div>
  99. </div>
  100. <div id="buttons" class="nav-wrapper">
  101. <div id="control-buttons" hidden>
  102. <button id="reload-button"
  103. class="blue-button text-button"
  104. onclick="reloadButtonClick(this.url);"
  105. jsselect="reloadButton"
  106. jsvalues=".url:reloadUrl"
  107. jscontent="msg"></button>
  108. <button id="download-button"
  109. class="blue-button text-button"
  110. onclick="downloadButtonClick()"
  111. jsselect="downloadButton"
  112. jscontent="msg" jsvalues=".disabledText:disabledMsg">
  113. </button>
  114. </div>
  115. <button id="details-button" class="secondary-button text-button small-link"
  116. onclick="detailsButtonClick(); toggleHelpBox()" jscontent="details"
  117. jsdisplay="(suggestionsDetails && suggestionsDetails.length > 0) || diagnose"
  118. jsvalues=".detailsText:details; .hideDetailsText:hideDetails;"></button>
  119. </div>
  120. <div id="details" class="hidden">
  121. <div class="suggestions" jsselect="suggestionsDetails">
  122. <div class="suggestion-header" jsvalues=".innerHTML:header"></div>
  123. <div class="suggestion-body" jsvalues=".innerHTML:body"></div>
  124. </div>
  125. </div>
  126. </div>
  127. <div id="sub-frame-error">
  128. <!-- Show details when hovering over the icon, in case the details are
  129. hidden because they're too large. -->
  130. <div class="icon"></div>
  131. <div id="sub-frame-error-details" jsselect="summary" jsvalues=".innerHTML:msg"></div>
  132. </div>
  133. <div id="offline-resources">
  134. <img id="offline-resources-1x" src="images/default_100_percent/offline/100-offline-sprite.png">
  135. <img id="offline-resources-2x" src="images/default_200_percent/offline/200-offline-sprite.png">
  136. <template id="audio-resources">
  137. <audio id="offline-sound-press" src="sounds/button-press.mp3"></audio>
  138. <audio id="offline-sound-hit" src="sounds/hit.mp3"></audio>
  139. <audio id="offline-sound-reached" src="sounds/score-reached.mp3"></audio>
  140. </template>
  141. </div>
  142. </body>
  143. </html>