index.html 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <link rel="icon" href="/favicon.ico" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>金田三维基础平台</title>
  8. <style>
  9. #app {
  10. height: 100vh;
  11. }
  12. </style>
  13. <!-- 引入Cesium -->
  14. <link rel="stylesheet" type="text/css" href="./public/ThirdParty/Cesium-1.108/Widgets/widgets.css" />
  15. <script src="./ThirdParty/Cesium-1.108/Cesium.js"></script>
  16. <!-- 引入jQuery -->
  17. <script type="text/javascript" src="./ThirdParty/jquery-2.0.3.min.js" charset="utf-8"></script>
  18. </head>
  19. <body style="margin: 0px; padding: 0px;overflow: hidden;">
  20. <div id="app"></div>
  21. <script type="module" src="/src/main.js"></script>
  22. <script type="text/javascript">
  23. (function(designWidth, maxWidth) {
  24. var doc = document,
  25. win = window,
  26. docEl = doc.documentElement,
  27. remStyle = document.createElement("style"),
  28. tid;
  29. function refreshRem() {
  30. var width = docEl.getBoundingClientRect().width;
  31. maxWidth = maxWidth || 1920;
  32. if (!width || width < 1000) {
  33. width = 1000
  34. } else if (width > 1920) {
  35. width = 1920
  36. }
  37. width > maxWidth && (width = 192000);
  38. var rem = width * 1 / designWidth;
  39. remStyle.innerHTML = 'html{font-size:' + rem + 'px;}';
  40. }
  41. if (docEl.firstElementChild) {
  42. docEl.firstElementChild.appendChild(remStyle);
  43. } else {
  44. var wrap = doc.createElement("div");
  45. wrap.appendChild(remStyle);
  46. doc.write(wrap.innerHTML);
  47. wrap = null;
  48. }
  49. //要等 wiewport 设置好后才能执行 refreshRem,不然 refreshRem 会执行2次;
  50. refreshRem();
  51. win.addEventListener("resize", function() {
  52. clearTimeout(tid); //防止执行两次
  53. tid = setTimeout(refreshRem, 300);
  54. }, false);
  55. win.addEventListener("pageshow", function(e) {
  56. if (e.persisted) { // 浏览器后退的时候重新计算
  57. clearTimeout(tid);
  58. tid = setTimeout(refreshRem, 300);
  59. }
  60. }, false);
  61. if (doc.readyState === "complete") {
  62. doc.body.style.fontSize = "16rem";
  63. } else {
  64. doc.addEventListener("DOMContentLoaded", function(e) {
  65. doc.body.style.fontSize = "16rem";
  66. }, false);
  67. }
  68. })(1920, 192000);
  69. </script>
  70. </body>
  71. </html>