Pārlūkot izejas kodu

fix-视频单独开一个html

shaogen1995 1 gadu atpakaļ
vecāks
revīzija
848e88df97
5 mainītis faili ar 202 papildinājumiem un 207 dzēšanām
  1. 70 122
      index.html
  2. 132 0
      model.html
  3. 0 23
      myCode/index.js
  4. 0 29
      myCode/style.css
  5. 0 33
      myCode/style.less

+ 70 - 122
index.html

@@ -1,146 +1,94 @@
 <!DOCTYPE html>
-<html lang="en-us">
+<html lang="ch-zh">
 
 <head>
-  <meta charset="utf-8">
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+  <meta charset="UTF-8">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>常中e大观园</title>
-  <link rel="shortcut icon" href="TemplateData/favicon.ico">
-  <link rel="stylesheet" href="TemplateData/style.css">
-  <link rel="manifest" href="manifest.webmanifest">
 
-  <!-- 引用自己的样式 -->
-  <link rel="stylesheet" href="./myCode/style.css">
+  <style>
+    * {
+      margin: 0;
+      padding: 0;
+      box-sizing: border-box;
+    }
 
-</head>
+    body {
+      width: 100vw;
+      height: 100vh;
+      overflow: hidden;
+    }
 
-<body>
-  <div id="unity-container">
-    <canvas id="unity-canvas" tabindex="-1"></canvas>
-    <div id="unity-loading-bar">
-      <div id="unity-logo"></div>
-      <div id="unity-progress-bar-empty">
-        <div id="unity-progress-bar-full"></div>
-      </div>
-    </div>
-    <div id="unity-warning"> </div>
-  </div>
+    .videoBox {
+      width: 100%;
+      height: 100%;
+      background-color: black;
+      position: relative;
+    }
 
-  <!-- 加载中文字 -->
-  <div id="lodingTxt">加载中...</div>
+    .videoBox video {
+      position: absolute;
+      top: 50%;
+      left: 50%;
+      transform: translate(-50%, -50%);
+      max-width: 100%;
+      max-height: 100%;
+    }
 
+    .skipTxt {
+      position: absolute;
+      z-index: 10;
+      right: 15px;
+      top: 15px;
+      width: 60px;
+      height: 30px;
+      background-color: rgba(0, 0, 0, .6);
+      line-height: 30px;
+      text-align: center;
+      color: #fff;
+      text-decoration: none;
+    }
+  </style>
+
+</head>
+
+<body>
   <!-- 开场视频 -->
   <div class="videoBox">
     <video src="./myCode/video.mp4" controls muted></video>
-    <div class="skipTxt">跳 过</div>
+    <a class="skipTxt" href="./model.html">跳 过</a>
   </div>
 
-  <!-- 分享海报 -->
-  <div class="shareBox">
-    <img src="./StreamingAssets/share.png" alt="">
-    <div class="shareTit">长按图片保存</div>
-    <div class="shareBtn">关闭</div>
-  </div>
-
-  <script>
-    let unityExamples = null
-
-    window.addEventListener("load", function () {
-      if ("serviceWorker" in navigator) {
-        navigator.serviceWorker.register("ServiceWorker.js");
-      }
-    });
-
-    var container = document.querySelector("#unity-container");
-    var canvas = document.querySelector("#unity-canvas");
-    var loadingBar = document.querySelector("#unity-loading-bar");
-    var progressBarFull = document.querySelector("#unity-progress-bar-full");
-    var warningBanner = document.querySelector("#unity-warning");
-
-    // Shows a temporary message banner/ribbon for a few seconds, or
-    // a permanent error message on top of the canvas if type=='error'.
-    // If type=='warning', a yellow highlight color is used.
-    // Modify or remove this function to customize the visually presented
-    // way that non-critical warnings and error messages are presented to the
-    // user.
-    function unityShowBanner(msg, type) {
-      function updateBannerVisibility() {
-        warningBanner.style.display = warningBanner.children.length ? 'block' : 'none';
-      }
-      var div = document.createElement('div');
-      div.innerHTML = msg;
-      warningBanner.appendChild(div);
-      if (type == 'error') div.style = 'background: red; padding: 10px;';
-      else {
-        if (type == 'warning') div.style = 'background: yellow; padding: 10px;';
-        setTimeout(function () {
-          warningBanner.removeChild(div);
-          updateBannerVisibility();
-        }, 5000);
-      }
-      updateBannerVisibility();
-    }
-
-    var buildUrl = "Build";
-    var loaderUrl = buildUrl + "/ChangZhouHospital_2.1.loader.js";
-    var config = {
-      dataUrl: buildUrl + "/ChangZhouHospital_2.1.data.unityweb",
-      frameworkUrl: buildUrl + "/ChangZhouHospital_2.1.framework.js.unityweb",
-      codeUrl: buildUrl + "/ChangZhouHospital_2.1.wasm.unityweb",
-      streamingAssetsUrl: "StreamingAssets",
-      companyName: "DefaultCompany",
-      productName: "ChangZhouHospital",
-      productVersion: "1.1",
-      showBanner: unityShowBanner,
-    };
-
-    // By default Unity keeps WebGL canvas render target size matched with
-    // the DOM size of the canvas element (scaled by window.devicePixelRatio)
-    // Set this to false if you want to decouple this synchronization from
-    // happening inside the engine, and you would instead like to size up
-    // the canvas DOM size and WebGL render target sizes yourself.
-    // config.matchWebGLToCanvasSize = false;
-
-    if (/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)) {
-      // Mobile device style: fill the whole browser client area with the game canvas:
-      var meta = document.createElement('meta');
-      meta.name = 'viewport';
-      meta.content = 'width=device-width, height=device-height, initial-scale=1.0, user-scalable=no, shrink-to-fit=yes';
-      document.getElementsByTagName('head')[0].appendChild(meta);
-    }
+</body>
 
-    loadingBar.style.display = "block";
+<script>
+  const videoBox = document.querySelector('.videoBox')
 
-    var script = document.createElement("script");
-    script.src = loaderUrl;
-    script.onload = () => {
-      createUnityInstance(canvas, config, (progress) => {
-        progressBarFull.style.width = 100 * progress + "%";
-      }).then((unityInstance) => {
-        loadingBar.style.display = "none";
+  const videoDom = document.querySelector('.videoBox video')
 
-        // 兼容苹果手机,移除视频dom
-        setTimeout(() => {
-          const videoBox = document.querySelector('.videoBox')
+  const videoBtnDom = document.querySelector('.skipTxt')
 
-          if (videoBox) document.querySelector('body').removeChild(videoBox)
 
-        }, 500);
+  // 自动播放视频
+  videoDom.play()
 
-        // 把unity的实例保存起来
-        unityExamples = unityInstance
-        // 隐藏加载中文字
-        document.querySelector('#lodingTxt').style.display = 'none'
+  // 点击按钮,或者视频播放完毕的回调
+  const videoPalyEnd = () => {
+    videoBtnDom.click()
+    // const topUrl = window.location.href
+    // console.log('-------视频播放完毕,或者点击跳过--------', topUrl);
+    // const a = document.createElement('a');
+    // a.setAttribute('href', topUrl.replace('index', 'model'));
+    // // a.setAttribute('target','_blank');
+    // a.style.display = 'none'
+    // document.body.appendChild(a);
+    // a.click();
+  }
 
-      }).catch((message) => {
-        alert(message);
-      });
-    };
-    document.body.appendChild(script);
-  </script>
+  videoDom.addEventListener('ended', function () {
+    videoPalyEnd()
+  }, false)
 
-  <!-- 引入自己的js -->
-  <script src="./myCode/index.js"></script>
-</body>
+</script>
 
 </html>

+ 132 - 0
model.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html lang="en-us">
+
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+  <title>常中e大观园</title>
+  <link rel="shortcut icon" href="TemplateData/favicon.ico">
+  <link rel="stylesheet" href="TemplateData/style.css">
+  <link rel="manifest" href="manifest.webmanifest">
+
+  <!-- 引用自己的样式 -->
+  <link rel="stylesheet" href="./myCode/style.css">
+
+</head>
+
+<body>
+  <div id="unity-container">
+    <canvas id="unity-canvas" tabindex="-1"></canvas>
+    <div id="unity-loading-bar">
+      <div id="unity-logo"></div>
+      <div id="unity-progress-bar-empty">
+        <div id="unity-progress-bar-full"></div>
+      </div>
+    </div>
+    <div id="unity-warning"> </div>
+  </div>
+
+  <!-- 加载中文字 -->
+  <div id="lodingTxt">加载中...</div>
+
+  <!-- 分享海报 -->
+  <div class="shareBox">
+    <img src="./StreamingAssets/share.png" alt="">
+    <div class="shareTit">长按图片保存</div>
+    <div class="shareBtn">关闭</div>
+  </div>
+
+  <script>
+    let unityExamples = null
+
+    window.addEventListener("load", function () {
+      if ("serviceWorker" in navigator) {
+        navigator.serviceWorker.register("ServiceWorker.js");
+      }
+    });
+
+    var container = document.querySelector("#unity-container");
+    var canvas = document.querySelector("#unity-canvas");
+    var loadingBar = document.querySelector("#unity-loading-bar");
+    var progressBarFull = document.querySelector("#unity-progress-bar-full");
+    var warningBanner = document.querySelector("#unity-warning");
+
+    // Shows a temporary message banner/ribbon for a few seconds, or
+    // a permanent error message on top of the canvas if type=='error'.
+    // If type=='warning', a yellow highlight color is used.
+    // Modify or remove this function to customize the visually presented
+    // way that non-critical warnings and error messages are presented to the
+    // user.
+    function unityShowBanner(msg, type) {
+      function updateBannerVisibility() {
+        warningBanner.style.display = warningBanner.children.length ? 'block' : 'none';
+      }
+      var div = document.createElement('div');
+      div.innerHTML = msg;
+      warningBanner.appendChild(div);
+      if (type == 'error') div.style = 'background: red; padding: 10px;';
+      else {
+        if (type == 'warning') div.style = 'background: yellow; padding: 10px;';
+        setTimeout(function () {
+          warningBanner.removeChild(div);
+          updateBannerVisibility();
+        }, 5000);
+      }
+      updateBannerVisibility();
+    }
+
+    var buildUrl = "Build";
+    var loaderUrl = buildUrl + "/ChangZhouHospital_2.1.loader.js";
+    var config = {
+      dataUrl: buildUrl + "/ChangZhouHospital_2.1.data.unityweb",
+      frameworkUrl: buildUrl + "/ChangZhouHospital_2.1.framework.js.unityweb",
+      codeUrl: buildUrl + "/ChangZhouHospital_2.1.wasm.unityweb",
+      streamingAssetsUrl: "StreamingAssets",
+      companyName: "DefaultCompany",
+      productName: "ChangZhouHospital",
+      productVersion: "1.1",
+      showBanner: unityShowBanner,
+    };
+
+    // By default Unity keeps WebGL canvas render target size matched with
+    // the DOM size of the canvas element (scaled by window.devicePixelRatio)
+    // Set this to false if you want to decouple this synchronization from
+    // happening inside the engine, and you would instead like to size up
+    // the canvas DOM size and WebGL render target sizes yourself.
+    // config.matchWebGLToCanvasSize = false;
+
+    if (/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)) {
+      // Mobile device style: fill the whole browser client area with the game canvas:
+      var meta = document.createElement('meta');
+      meta.name = 'viewport';
+      meta.content = 'width=device-width, height=device-height, initial-scale=1.0, user-scalable=no, shrink-to-fit=yes';
+      document.getElementsByTagName('head')[0].appendChild(meta);
+    }
+
+    loadingBar.style.display = "block";
+
+    var script = document.createElement("script");
+    script.src = loaderUrl;
+    script.onload = () => {
+      createUnityInstance(canvas, config, (progress) => {
+        progressBarFull.style.width = 100 * progress + "%";
+      }).then((unityInstance) => {
+        loadingBar.style.display = "none";
+
+        // 把unity的实例保存起来
+        unityExamples = unityInstance
+        // 隐藏加载中文字
+        document.querySelector('#lodingTxt').style.display = 'none'
+
+      }).catch((message) => {
+        alert(message);
+      });
+    };
+    document.body.appendChild(script);
+  </script>
+
+  <!-- 引入自己的js -->
+  <script src="./myCode/index.js"></script>
+</body>
+
+</html>

+ 0 - 23
myCode/index.js

@@ -2,30 +2,7 @@
 //   console.log('-----unity实例', unityExamples);
 // }, 2000);
 
-const videoBox = document.querySelector('.videoBox')
 
-const videoDom = document.querySelector('.videoBox video')
-
-const videoBtnDom = document.querySelector('.skipTxt')
-
-
-// 自动播放视频
-videoDom.play()
-
-// 点击按钮,或者视频播放完毕的回调
-const videoPalyEnd = () => {
-  console.log('-------视频播放完毕,或者点击跳过--------');
-  document.querySelector('body').removeChild(videoBox)
-}
-
-videoDom.addEventListener('ended', function () {
-  videoPalyEnd()
-}, false)
-
-
-videoBtnDom.onclick = () => {
-  videoPalyEnd()
-}
 
 
 // 分享页面

+ 0 - 29
myCode/style.css

@@ -49,35 +49,6 @@ body #lodingTxt {
 #unity-progress-bar-full {
   display: none !important;
 }
-.videoBox {
-  position: absolute;
-  z-index: 8000;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-  background-color: black;
-}
-.videoBox video {
-  position: absolute;
-  top: 50%;
-  left: 50%;
-  transform: translate(-50%, -50%);
-  max-width: 100%;
-  max-height: 100%;
-}
-.videoBox .skipTxt {
-  position: absolute;
-  z-index: 10;
-  right: 15px;
-  top: 15px;
-  width: 60px;
-  height: 30px;
-  background-color: rgba(0, 0, 0, 0.6);
-  line-height: 30px;
-  text-align: center;
-  color: #fff;
-}
 .shareBox {
   opacity: 0;
   pointer-events: none;

+ 0 - 33
myCode/style.less

@@ -62,39 +62,6 @@ body {
 }
 
 
-// 视频盒子
-.videoBox {
-  position: absolute;
-  z-index: 8000;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-  background-color: black;
-
-
-  video {
-    position: absolute;
-    top: 50%;
-    left: 50%;
-    transform: translate(-50%, -50%);
-    max-width: 100%;
-    max-height: 100%;
-  }
-  .skipTxt{
-    position: absolute;
-    z-index: 10;
-    right: 15px;
-    top: 15px;
-    width: 60px;
-    height: 30px;
-    background-color: rgba(0,0,0,.6);
-    line-height: 30px;
-    text-align: center;
-    color: #fff;
-  }
-}
-
 // 分享海报
 .shareBox{
   opacity: 0;