wjtx_native/assets/game/index.html
2020-11-19 16:03:04 +08:00

302 lines
9.1 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>武极天下</title>
<meta charset="utf-8">
<meta name="renderer" content="webkit">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Expires" content="0">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-control" content="no-cache">
<meta http-equiv="Cache" content="no-cache">
<meta http-equiv="Access-Control-Allow-Origin" content="*">
<meta name="viewport" content="width=device-width,initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="full-screen" content="true" />
<meta name="screen-orientation" content="portrait" />
<meta name="x5-fullscreen" content="true" />
<meta name="360-fullscreen" content="true" />
<link rel="stylesheet" type="text/css" href="./resource/scripts/index.css" />
</head>
<body>
<div id="homePageImage" style="width: 100%; height: 100%; position: fixed" align="center">
<img id="homeImg" style="position: relative;max-height:100%;"/>
</div>
<div id="loadingUi" style="width: 640px; position: fixed;">
<!--<div id="btnContainer" class = "mstartBtn" style="position: fixed; width: 100%; bottom: 30%;" onclick='loginBtnHandle();' align="middle">
<img th:src="@{../resource/startgame.png}" width="100%" height="100%"/>
</div>-->
<div id="loadingbar" class="mwrapper" style="position: fixed; left: 50%; bottom: 10%;">
<div class="load-bar" style="position: relative; left: -50%;">
<div class="load-bar-inner" data-loading="0"></div>
<div class="maskContainer" style="position:relative ; top: -16px ; overflow: hidden;">
<img th:src="@{./resource/barmask.png}" width="100%" height="100%">
</div>
<div class="guang" style="position:relative ; top: -49px ; overflow: hidden;">
<img th:src="@{./resource/guang.png}">
</div>
</div>
<p style="position: relative; left: -25%; top: 20px;">加载游戏中...</p>
</div>
</div>
<div style="margin: auto;width: 100%;height: 100%;" class="egret-player" data-entry-class="Main" data-orientation="portrait" data-scale-mode="fixedNarrow" data-frame-rate="30"
data-content-width="640" data-content-height="1136" data-multi-fingered="2" data-show-fps="false" data-show-log="false" data-show-fps-style="x:0,y:0,size:12,textColor:0xffffff,bgAlpha:0.3">
</div>
<script src='js/jcfw.native_egret.min.js'></script>
<script th:inline="javascript">
/**
* 获取os
*/
var browser = {
versions: function () {
var u = navigator.userAgent, app = navigator.appVersion;
return {//移动终端浏览器版本信息
trident: u.indexOf('Trident') > -1, //IE内核
presto: u.indexOf('Presto') > -1, //Opera内核
webKit: u.indexOf('AppleWebKit') > -1, //苹果/谷歌内核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/), //是否为移动终端
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //iOS终端
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //Android终端或者UC浏览器
iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') > -1, //是否iPad
webApp: u.indexOf('Safari') == -1 //是否Web应该程序没有头部与底部
};
} (),
language: (navigator.browserLanguage || navigator.language).toLowerCase()
}
var isIos = browser.versions.ios || browser.versions.iPhone || browser.versions.iPad;
var isAndroid = browser.versions.android;
var isMobile = isIos || isAndroid;
var loadingbar = getNodeByName("loadingbar");
if (loadingbar) {
loadingbar.className = isMobile ? "mwrapper" : "wrapper";
loadingbar.style.display = "none";
}
let startBtn = getNodeByName("btnContainer");
if (startBtn) {
startBtn.className = isMobile ? "mstartBtn" : "startBtn";
}
var time = Date.now();
var domain = "./"; // 资源地址
var showConsole = false; // 显示控制台
function showHomgImage() {
var homeImg = getNodeByName("homeImg");
if (homeImg) {
homeImg.src = domain + "resource/m_loading.jpg?v=20181220";
}
}
function getNodeByName(nodeName) {
return document.getElementById(nodeName);
}
function showLog(msg) {
//console.log(msg);
//alert(msg);
}
/**
* 初始化egret
*/
function initEgret() {
var xhr = new XMLHttpRequest();
xhr.open('GET', domain + 'manifest.json?v=' + Math.random(), true);
showLog(domain + 'manifest.json');
xhr.addEventListener("load", function () {
var manifest = JSON.parse(xhr.response);
var list = manifest.initial.concat(manifest.game);
loadScript(list, function () {
egret.runEgret({
renderMode: "webgl", audioType: 0, calculateCanvasScaleFactor: function (context) {
showLog("启动白鹭引擎");
var backingStore = context.backingStorePixelRatio ||
context.webkitBackingStorePixelRatio ||
context.mozBackingStorePixelRatio ||
context.msBackingStorePixelRatio ||
context.oBackingStorePixelRatio ||
context.backingStorePixelRatio || 1;
return (window.devicePixelRatio || 1) / backingStore;
}
});
});
});
xhr.send(null);
}
/**
* 加载外部js
*/
var loadScript = function (list, callback) {
var loaded = 0;
var loadNext = function () {
loadSingleScript(list[loaded], function () {
loaded++;
if (loaded >= list.length) {
callback();
}
else {
loadNext();
}
})
};
loadNext();
};
/**
* 加载外部js
*/
var loadSingleScript = function (src, callback) {
var s = document.createElement('script');
s.async = false;
// s.src = domain + src + (src.indexOf("?") == -1 ? "?" : "&") + "t=" + time;
s.src = domain + src;
s.addEventListener('load', function () {
s.parentNode.removeChild(s);
s.removeEventListener('load', arguments.callee, false);
callback();
}, false);
document.body.appendChild(s);
};
/**
* 隐藏加载对象
*/
function hideHomgImage() {
showLog("hideHomgImage" + 1);
var homeImg = getNodeByName("homeImg");
if (homeImg) {
homeImg.src = "";
}
}
/**
* 移除首页中 背景 图
*/
function removeHomePageImage() {
showLog("removeHomePageImage" + 1);
removeNodeByName("homePageImage");
}
/**
* 移除首页中 loading
*/
function removeHomePageLoading() {
showLog("removeHomePageLoading" + 1);
var loadingbar = removeNodeByName("loadingbar");
if (loadingbar) {
loadingbar.className = "";
}
removeNodeByName("loadingUi");
// 调用原生中移除启动背景图
callNativeFromJs("removeNativeLoading", "---from javasript removeHomePageImage");
showLog("removeHomePageLoading" + 2);
}
/**
* 移除指定的节点元素
*/
function removeNodeByName(nodeName) {
showLog("removeNodeByName" + nodeName);
var bgimg = getNodeByName(nodeName);
if (bgimg && bgimg.parentNode) {
bgimg.parentNode.removeChild(bgimg);
}
showLog("removeNodeByName结束");
return bgimg;
}
/**
* 设置cookie key value
*/
function setCookie(name, value) {
var exp = new Date();
exp.setTime(exp.getTime() + 1 * 24 * 60 * 60 * 1000);
document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
}
/**
* 读取cookies
*/
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i].trim();
if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
}
return "";
}
/**
* 读取地址中的参数
*/
function GetQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r == null)
return "dev";//没有参数 默认dev
else
return unescape(r[2]);
}
/**
* 调用本地的js方法
*/
function callNativeFromJs(funcName, data) {
var externalInterface = window['ExternalInterface'];
if (externalInterface) {
var callFunc = externalInterface['call'];
if (callFunc) {
callFunc(funcName, data);
} else {
console.warn('没有 ExternalInterface 的 call 方法对象');
}
} else {
console.warn('没有 ExternalInterface 对象');
}
}
function onSdkInited() {
// 初始化引擎
initEgret();
}
showHomgImage();
loadSingleScript("js/platform.js", function () {
onSdkInited();
});
if (showConsole) {
loadSingleScript("vconsole.min.js", function () {
if (typeof VConsole !== 'undefined') {
window.vConsole = new VConsole();
}
});
}
</script>
</body>
</html>