316 lines
8.4 KiB
JavaScript
316 lines
8.4 KiB
JavaScript
/*
|
||
* @description 是否显示测试用的FPS
|
||
*/
|
||
function jsIsShowFPS() {
|
||
return false;
|
||
}
|
||
|
||
/*
|
||
* @description 称判断是否为IOS浏览器
|
||
*/
|
||
function isIOSBrowser() {
|
||
var UA = navigator.userAgent;
|
||
if (UA.match(/iPad/) || UA.match(/iPhone/) || UA.match(/iPod/)) {
|
||
return true;
|
||
} else {
|
||
return false;
|
||
}
|
||
}
|
||
|
||
/**
|
||
* @description 加载视图(由Unity调用)
|
||
* @param {string} data JSON格式数据
|
||
* 对象格式 class DataInfo{ stirng ObjectID, int Type, string DataName, string[] DataDetails }
|
||
*/
|
||
function jsLoadView(data) {
|
||
// 解析成对象
|
||
let objData = JSON.parse(data);
|
||
var dataType;
|
||
switch (objData.Type) {
|
||
case 0: dataType = "Video"; break;
|
||
case 1: dataType = "Image"; break;
|
||
case 2: dataType = "ImageText"; break;
|
||
case 3: dataType = "ComicStrip"; break;
|
||
case 4: dataType = "Game"; break;
|
||
case 5: dataType = "Url"; break;
|
||
default: break;
|
||
}
|
||
|
||
// 不同类型加载不同的HTML文件
|
||
var url = dataType + ".html";
|
||
|
||
// 文件内容加载到divView
|
||
var req = false;
|
||
if (window.XMLHttpRequest) {// Safari, Firefox, 及其他非微软浏览器
|
||
try {
|
||
req = new XMLHttpRequest();
|
||
} catch (e) {
|
||
req = false;
|
||
}
|
||
} else if (window.ActiveXObject) {
|
||
try {
|
||
req = new ActiveXObject("Msxml2.XMLHTTP");// For Internet Explorer on Windows
|
||
} catch (e) {
|
||
try {
|
||
req = new ActiveXObject("Microsoft.XMLHTTP");
|
||
} catch (e) {
|
||
req = false;
|
||
}
|
||
}
|
||
}
|
||
var element = document.getElementById("divView");
|
||
if (!element) {
|
||
alert("无法找到id为" + id + "的div 或 span 标签。");
|
||
return;
|
||
}
|
||
if (req) {
|
||
req.open('GET', url, false); // 同步请求,等待收到全部内容
|
||
req.send(null);
|
||
element.innerHTML = req.responseText;
|
||
// $("#divView").html(req.responseText);
|
||
|
||
// 自动加载并根据类型加载对应的资源进行显示
|
||
if (dataType == "Video") {
|
||
jsLoadVideo(objData);
|
||
}
|
||
else if (dataType == "Image") {
|
||
jsLoadImage(objData);
|
||
}
|
||
else if (dataType == "Url") {
|
||
jsLoadUrl(objData.DataName);
|
||
}
|
||
else if (dataType == "ComicStrip") {
|
||
jsLoadComicStrip(objData.DataName);
|
||
}
|
||
else if (dataType == "ImageText") {
|
||
// 测试写法,不代表最终写法。这里只传递一个参数,图文应该有图片和音频。
|
||
jsLoadImageText(objData.DataName);
|
||
}
|
||
} else {
|
||
element.innerHTML =
|
||
"对不起,你的浏览器不支持" + "XMLHTTPRequest 对象。这个网页的显示要求" +
|
||
"Internet Explorer 5 以上版本, " + "或 Firefox 或 Safari 浏览器,也可能会有其他可兼容的浏览器存在。";
|
||
}
|
||
}
|
||
|
||
/**
|
||
* @description 移动时关闭弹窗并清空divView内容
|
||
*/
|
||
function jsHideView() {
|
||
$('#modal').addClass('center-modal');
|
||
$('#modal').removeClass('maxmize-modal');
|
||
modal.style.display = "none";
|
||
//$('#modal').fadeOut(); // 会有标题在
|
||
|
||
var element = document.getElementById("divView");
|
||
if (!element) {
|
||
alert("无法找到id为" + id + "的div 或 span 标签。");
|
||
return;
|
||
}
|
||
else {
|
||
element.innerHTML = "";
|
||
}
|
||
}
|
||
|
||
/**
|
||
* @description 加载视频
|
||
* @param {DataInfo} datainfo 数据信息
|
||
*/
|
||
function jsLoadVideo(videoName,videoTitle) {
|
||
var divVideoPlayer = document.querySelector("#divVideoPlayer");
|
||
var btnClose = document.querySelector("#btnClose");
|
||
var vdMain = document.querySelector("#vdPlayer");
|
||
var vSource = document.querySelector("#vdSource");
|
||
var vdTitle = document.querySelector("#vdTitle");
|
||
vSource.src = "StreamingAssets/Video/" + videoName;
|
||
vdMain.load();
|
||
divVideoPlayer.style.display = "block";
|
||
btnClose.style.display = "block";
|
||
vdTitle.innerHTML = videoTitle;
|
||
}
|
||
|
||
/**
|
||
* @description 加载图像
|
||
* @param {DataInfo} datainfo 数据信息
|
||
*/
|
||
function jsLoadImage(datainfo) {
|
||
var imgMain = document.querySelector("#imgMain");
|
||
imgMain.src = "Content/Images/" + datainfo.DataName;
|
||
|
||
// 如果包含音频,则显示音频播放按钮
|
||
if (datainfo.DataDetails.length > 1) {
|
||
var auSource = document.querySelector("#auSource");
|
||
auSource.src = "Content/Audios/" + datainfo.DataDetails[1];
|
||
var btnPlay = document.querySelector("#btnPlay");
|
||
btnPlay.style.display = "block";
|
||
}
|
||
|
||
$('#modal').fadeIn(500);
|
||
}
|
||
|
||
/**
|
||
* @description 图文
|
||
* @param {string} audioName 音频名称
|
||
* @param {string} imageName 图片名称
|
||
*/
|
||
function jsLoadImageText(audioName, imageName) {
|
||
var adMain = document.querySelector("#adMain");
|
||
var aSource = document.querySelector("#aSource");
|
||
aSource.src = "Content/Audios/" + audioName;
|
||
// 这里图片应该动态添加,目前是在imageText.html写死
|
||
$('#imgText').attr('src', 'Content/Images/' + imageName);
|
||
adMain.load();
|
||
$('#modal').fadeIn(500);
|
||
setTimeout(function () {
|
||
if (!isIOSBrowser()) {
|
||
adMain.play();
|
||
}
|
||
}, 500);
|
||
}
|
||
|
||
function jsLoadComicStrip(comicStripName) {
|
||
$('#comic').attr('src', 'Content/Images/' + comicStripName);
|
||
$('#modal').fadeIn(500);
|
||
}
|
||
|
||
function jsLoadUrl(url) {
|
||
window.open(url, "_blank");
|
||
}
|
||
|
||
/**
|
||
* @description 判断浏览器是否竖屏
|
||
*/
|
||
function jsIsBroswerSP() {
|
||
return window.orientation === 180 || window.orientation === 0;
|
||
}
|
||
|
||
/**
|
||
* @description 判断是否苹果浏览器
|
||
*/
|
||
function jsIOSBroswer() {
|
||
var UA = navigator.userAgent;
|
||
if (UA.match(/iPad/) || UA.match(/iPhone/) || UA.match(/iPod/)) {
|
||
return true;
|
||
} else {
|
||
return false;
|
||
}
|
||
}
|
||
|
||
/**
|
||
* @description 获取平台的类型
|
||
* @return 0:Unity编辑器,1:非IOS平台,2:IOS平台
|
||
*/
|
||
function jsGetPlatformType() {
|
||
|
||
return isIOSBrowser() ? 2 : 1;
|
||
}
|
||
|
||
function jsIsWXBrowser()
|
||
{
|
||
var ua = navigator.userAgent.toLowerCase();
|
||
var isWeixin = ua.indexOf('micromessenger') != -1;
|
||
if (isWeixin) {
|
||
return true;
|
||
} else {
|
||
return false;
|
||
}
|
||
}
|
||
|
||
/**
|
||
* @description 设置全屏显示
|
||
*/
|
||
function jsSetFullScreen() {
|
||
unityInstance.SetFullscreen(1);
|
||
//canvas.requestFullscreen();
|
||
}
|
||
|
||
/**
|
||
* @description 判断是否为移动端浏览器
|
||
*/
|
||
function jsIsMobileBroswerSP() {
|
||
if (/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)) {
|
||
return true;
|
||
}
|
||
else {
|
||
return false;
|
||
}
|
||
}
|
||
|
||
/**
|
||
* @description 关闭按钮单击事件
|
||
*/
|
||
function onBtnCloseClick() {
|
||
//jsHideView();
|
||
var divVideoPlayer = document.querySelector("#divVideoPlayer");
|
||
var btnClose = document.querySelector("#btnClose");
|
||
var vdMain = document.querySelector("#vdPlayer");
|
||
vdMain.pause();
|
||
divVideoPlayer.style.display = "none";
|
||
btnClose.style.display = "none";
|
||
gameInstance.SendMessage("H5Receiver", "HideView", "");
|
||
}
|
||
|
||
// 是否为最大化
|
||
var isModalMax = false;
|
||
/**
|
||
* @description 最大化按钮单击事件
|
||
*/
|
||
function onBtnMaxClick() {
|
||
isModalMax = !isModalMax;
|
||
if (isModalMax) {
|
||
$('#modal').removeClass('center-modal');
|
||
$('#modal').addClass('maxmize-modal');
|
||
$('#modal').fadeIn(500);
|
||
}
|
||
else {
|
||
$('#modal').removeClass('maxmize-modal');
|
||
$('#modal').addClass('center-modal');
|
||
$('#modal').fadeIn(500);
|
||
}
|
||
}
|
||
|
||
/**
|
||
* @description 音频播放按钮单击事件
|
||
*/
|
||
function onBtnPlayClick() {
|
||
console.log("play");
|
||
var auMain = document.querySelector("#auMain");
|
||
var btnPlay = document.querySelector("#btnPlay");
|
||
|
||
if (auMain.paused) {
|
||
btnPlay.style.backgroundImage = "url('../images/ui/pause.png')";
|
||
auMain.load();
|
||
auMain.play();
|
||
}
|
||
else {
|
||
btnPlay.style.backgroundImage = "url('../images/ui/play.png')";
|
||
auMain.pause();
|
||
}
|
||
}
|
||
|
||
/**
|
||
* @description 关闭按钮单击事件
|
||
*/
|
||
function onBtnSkipClick() {
|
||
|
||
// jsLoadVideo("ZT0_3_1(台湾名称的由来).mp4");
|
||
|
||
vdMain.pause();
|
||
//vdMain.removeAttribute('src')
|
||
vdMain.remove();
|
||
|
||
document.getElementById('boxProgress').style.display = "block";
|
||
btnSkip.style.display = "none";
|
||
|
||
warningBanner.remove();
|
||
|
||
if (newProgress > 100) {
|
||
hideLoadingBar();
|
||
gameInstance.SendMessage("H5Receiver", "EnterGame", "");
|
||
}
|
||
else {
|
||
logo.style.backgroundImage = "url('images/loadingTW.jpg')";
|
||
showImages();
|
||
}
|
||
}
|