index.ejs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <html>
  2. <head>
  3. <link rel="icon" href="./favicon.ico" />
  4. <meta charset="utf-8" />
  5. <title><%=title%></title>
  6. <meta
  7. name="viewport"
  8. content="width=device-width,user-scalable=no,initial-scale=1,minimum-scale=1,maximum-scale=1,minimal-ui=true"
  9. />
  10. <meta name="apple-mobile-web-app-capable" content="yes" />
  11. <meta name="full-screen" content="yes" />
  12. <meta name="screen-orientation" content="portrait" />
  13. <meta name="x5-fullscreen" content="true" />
  14. <meta name="360-fullscreen" content="true" />
  15. <meta name="renderer" content="webkit" />
  16. <meta name="force-rendering" content="webkit" />
  17. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  18. <link rel="stylesheet" type="text/css" href="./index.css" />
  19. <script src="./lib/ads5.js"></script>
  20. <!-- Enhanced Source Map Support for Preview -->
  21. <script>
  22. // Enable enhanced debugging in preview mode
  23. window.__PREVIEW_DEBUG__ = true;
  24. window.__SOURCE_MAPS_ENABLED__ = true;
  25. // Override error handling for better source map support
  26. window.addEventListener("error", function (event) {
  27. console.error("=== ENHANCED ERROR LOGGING ===");
  28. console.error("Error:", event.error);
  29. console.error("Message:", event.message);
  30. console.error("Filename:", event.filename);
  31. console.error("Lineno:", event.lineno);
  32. console.error("Colno:", event.colno);
  33. console.error("Stack:", event.error?.stack);
  34. console.error("==============================");
  35. });
  36. // Override unhandled promise rejection
  37. window.addEventListener("unhandledrejection", function (event) {
  38. console.error("=== UNHANDLED PROMISE REJECTION ===");
  39. console.error("Reason:", event.reason);
  40. console.error("Stack:", event.reason?.stack);
  41. console.error("====================================");
  42. });
  43. // Only enhance console.error for actual errors, not regular logs
  44. const originalError = console.error;
  45. console.error = function (...args) {
  46. // Only add stack trace for actual errors, not regular console.log calls
  47. if (
  48. args.length > 0 &&
  49. typeof args[0] === "string" &&
  50. args[0].includes("Error")
  51. ) {
  52. const stack = new Error().stack;
  53. originalError.apply(console, [...args, "\n[Enhanced Stack]:", stack]);
  54. } else {
  55. originalError.apply(console, args);
  56. }
  57. };
  58. console.log("Preview mode with enhanced source map support enabled");
  59. </script>
  60. </head>
  61. <body style="overflow: hidden">
  62. <%- include(cocosToolBar, {config: config}) %>
  63. <div id="content" class="content" style="overflow: hidden">
  64. <div class="contentWrap">
  65. <div id="GameDiv" class="wrapper">
  66. <div id="Cocos3dGameContainer">
  67. <canvas
  68. id="GameCanvas"
  69. tabindex="-1"
  70. style="background-color: ''"
  71. ></canvas>
  72. </div>
  73. <div id="splash">
  74. <div class="progress-bar stripes"><span></span></div>
  75. </div>
  76. <div id="bulletin">
  77. <div id="sceneIsEmpty" class="inner"><%=tip_sceneIsEmpty%></div>
  78. </div>
  79. <div class="error" id="error">
  80. <div class="title">
  81. Error <i>(Please open the console to see detailed errors)</i>
  82. </div>
  83. <div class="error-main"></div>
  84. <div class="error-stack"></div>
  85. </div>
  86. </div>
  87. </div>
  88. </div>
  89. <%- include(cocosTemplate, {}) %>
  90. <script type="module">
  91. // 文档加载完成时的逻辑
  92. async function onInit() {
  93. const adapter = await window.AbsHelper.create({
  94. network: "ccc",
  95. apiKey: "your-api-key",
  96. });
  97. let result = await window.AbsHelper.connect(adapter);
  98. console.log("result", result);
  99. }
  100. // document.addEventListener("DOMContentLoaded", onInit);
  101. </script>
  102. </body>
  103. </html>