有大神看看 如何修改 视频加速 不计算实际已学时长的问题?
<!DOCTYPE html><html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="smile@kang.cool">
<meta name="description" content="hello">
<meta name="keywords" content="a,b,c">
<meta http-equiv="Window-target" content="_top">
<link rel="Shortcut Icon" href="/ncts/custom/nea/images/favicon.ico">
<!-- common -->
<link rel="stylesheet" href="/common/css/common.base.min.css">
<link rel="stylesheet" href="/ncts/custom/nea/css/app_study.min.css?version=2">
<script type="text/javascript" src="/common/js/common.base.min.js"></script>
<script type="text/javascript" src="/common/js/fly/jquery.fly.min.js"></script>
<script type="text/javascript" src="/common/js/fly/requestAnimationFrame.js"></script>
<script type="text/javascript" src="/ncts/custom/nea/js/laypage/laypage.js"></script>
<script type="text/javascript" src="/common/js/My97DatePicker/WdatePicker.js"></script>
<script type="text/javascript" src="/ncts/js/ncts_study.min.js"></script>
<!--calendar-->
<script type="text/javascript" src="/ncts/custom/nea/js/calendar/js/fullcalendar.min.js"></script>
<script type="text/javascript" src="/ncts/custom/nea/js/calendar/js/jquery.fancybox-1.3.1.pack.js"></script>
<script type="text/javascript" src="/ncts/custom/nea/js/calendar/js/jquery-ui-1.10.3.custom.min.js"></script>
<script type="text/javascript" src="/ncts/custom/nea/js/calendar/js/addplay.js"></script>
<!--jqthumb-->
<script type="text/javascript" src="/ncts/js/jqthumb.min.js"></script>
<!-- ueditor -->
<script type="text/javascript" src="/common/js/ueditor/ueditor.config.js"></script>
<script type="text/javascript" src="/common/js/ueditor/ueditor.all.min.js"></script>
<script type="text/javascript" src="/common/js/ueditor/lang/zh-cn/zh-cn.js"></script>
<script type="text/javascript" src="/common/js/ueditorUtils.js"></script>
<input id="ctx" type="hidden" value="">
<title>课程学习</title>
</head>
<body>
<div class="g-esst-body">
<div id="top">
<div class="g-esst-header">
<div class="title" title="">
<h3>
网络安全行为
<i class="state processing"></i>
</h3>
</div>
<div class="cont">
<div class="menuTab nav">
<a href="###" class="item z-crt" item="study">
<h2>课程学习</h2>
<div class="line"></div>
</a>
<a href="/c_d2673d8e04224584976e5c588039f705/study/course/discussion" class="item" item="discussion">
<h2>课程讨论</h2>
<div class="line"></div>
</a>
<a href="/c_d2673d8e04224584976e5c588039f705/study/course/progess" class="item" item="progess">
<h2>学习进度</h2>
<div class="line"></div>
</a>
</div>
<div class="user">
<div class="showed">
<img src=/ncts/custom/nea/images/defaultAvatarImg.png userId="" userName="" ctx="" loginId="32842fcc1be64661879b2ebe0226fd83" class="" style="">
<span>邱秀雯</span>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="/ncts/custom/nea/js/studynewst.js"></script>
<script>
function lightMenu(item){
$('.menuTab a').removeClass('z-crt');
$('.menuTab a').addClass('z-crt');
}
</script>
</div>
<div id="content">
<!-- 继续上次参与的活动, 如已完成自动进入下一活动 -->
<!-- 用于记录 在开放时间内的活动ids-->
<div class="g-esst-lfNav">
<!-- 遍历章 -->
<!-- 该章不为隐藏 -->
<!-- 章id 为空,则将第一个遍历到的 section.id赋予它-->
<div class="lfNav-l showed">
<div class="l-title" id="s_c270c66b789d4db7bf42d729131ede79" title="第一讲 信息安全面面观">第一讲 信息安全面面观</div>
<!-- 如果章下面有节 ,遍历该章所有的节-->
<!-- 该节不为隐藏 -->
<!-- 节id如果为空,则将第一个遍历到的 childSection.id赋予它 -->
<div class="lfNav-m showed">
<div class="m-title" id="sc_b9b1595a94b04375a2beaecebb19a1f2" title="知识讲解">知识讲解</div>
<div href="" class="lfNav-s">
<!-- 活动id如果为空,则将第一个遍历到的 activity.id赋予它 -->
<!-- .now 获取当前时间 -->
<!--活动开始标志全部已设置的时间都已开始(null跳过) -->
<!-- 获取提示时间,取所有设置的时间中最大的时间 -->
<!--活动结束标志全部已设置的时间都未结束(null跳过),不包括培训时间和课程时间 -->
<!-- 获取提示时间,取所有设置的结束时间中最小的时间 ,不包括培训时间和课程时间-->
<!-- tempOnStudyIds记录在活动开放时间内的活动ids;如果活动时间开始flag=true,并且结束时间flag=false-->
<!--当遍历到的活动符合条件,aid为空时,将本活动的id赋值给aid -->
<!-- 如果aid 符合条件,在目录显示对应的章节 -->
<!--sid 等于符合条件的本活动的节id -->
<script>
$(function(){
$('.lfNav-l').removeClass('showed');
$('.lfNav-m').removeClass('showed');
$("div #s_c270c66b789d4db7bf42d729131ede79").parent('.lfNav-l').addClass('showed');
$("div #sc_b9b1595a94b04375a2beaecebb19a1f2").parent('.lfNav-m').addClass('showed');
//$("div").parent('.lfNav-l').addClass('showed');
//$("div").parent('.lfNav-m').addClass('showed');
});
</script>
<!-- 如果该aid不符合条件,则不显示对应章节 -->
<!-- 如果活动时间开始flag=true,并且结束时间flag=false,就点击该活动就正常显示,否则提示时间 -->
<a href="###"
onclick="studyCourse('c_d2673d8e04224584976e5c588039f705','', 'a_d73d8f896de644c19261b75ec1127d6f')"
class="s-title
nopatici
z-crt
">
<h5 id="actH5_a_d73d8f896de644c19261b75ec1127d6f" title="密码设置" isExam="notExam" hasBegun="Y" hasEnded="N">密码设置</h5>
<i class="ico">
<span class="tag">
未参与
</span>
</i>
</a>
<!-- 活动id如果为空,则将第一个遍历到的 activity.id赋予它 -->
<!-- .now 获取当前时间 -->
<!--活动开始标志全部已设置的时间都已开始(null跳过) -->
<!-- 获取提示时间,取所有设置的时间中最大的时间 -->
<!--活动结束标志全部已设置的时间都未结束(null跳过),不包括培训时间和课程时间 -->
<!-- 获取提示时间,取所有设置的结束时间中最小的时间 ,不包括培训时间和课程时间-->
<!-- tempOnStudyIds记录在活动开放时间内的活动ids;如果活动时间开始flag=true,并且结束时间flag=false-->
<!--当遍历到的活动符合条件,aid为空时,将本活动的id赋值给aid -->
<!-- 如果aid 符合条件,在目录显示对应的章节 -->
<!-- 如果该aid不符合条件,则不显示对应章节 -->
<!-- 如果活动时间开始flag=true,并且结束时间flag=false,就点击该活动就正常显示,否则提示时间 -->
<a href="###"
onclick="studyCourse('c_d2673d8e04224584976e5c588039f705','', 'a_06feeb419bee4f16a8cfa3634485f1e3')"
class="s-title
nopatici
">
<h5 id="actH5_a_06feeb419bee4f16a8cfa3634485f1e3" title="软件下载安全" isExam="notExam" hasBegun="Y" hasEnded="N">软件下载安全</h5>
<i class="ico">
<span class="tag">
未参与
</span>
</i>
</a>
<!-- 活动id如果为空,则将第一个遍历到的 activity.id赋予它 -->
<!-- .now 获取当前时间 -->
<!--活动开始标志全部已设置的时间都已开始(null跳过) -->
<!-- 获取提示时间,取所有设置的时间中最大的时间 -->
<!--活动结束标志全部已设置的时间都未结束(null跳过),不包括培训时间和课程时间 -->
<!-- 获取提示时间,取所有设置的结束时间中最小的时间 ,不包括培训时间和课程时间-->
<!-- tempOnStudyIds记录在活动开放时间内的活动ids;如果活动时间开始flag=true,并且结束时间flag=false-->
<!--当遍历到的活动符合条件,aid为空时,将本活动的id赋值给aid -->
<!-- 如果aid 符合条件,在目录显示对应的章节 -->
<!-- 如果该aid不符合条件,则不显示对应章节 -->
<!-- 如果活动时间开始flag=true,并且结束时间flag=false,就点击该活动就正常显示,否则提示时间 -->
<a href="###"
onclick="studyCourse('c_d2673d8e04224584976e5c588039f705','', 'a_e6ff0557a53b48bd8ba681c3d13b3748')"
class="s-title
nopatici
">
<h5 id="actH5_a_e6ff0557a53b48bd8ba681c3d13b3748" title="杀毒软件" isExam="notExam" hasBegun="Y" hasEnded="N">杀毒软件</h5>
<i class="ico">
<span class="tag">
未参与
</span>
</i>
</a>
<!-- 活动id如果为空,则将第一个遍历到的 activity.id赋予它 -->
<!-- .now 获取当前时间 -->
<!--活动开始标志全部已设置的时间都已开始(null跳过) -->
<!-- 获取提示时间,取所有设置的时间中最大的时间 -->
<!--活动结束标志全部已设置的时间都未结束(null跳过),不包括培训时间和课程时间 -->
<!-- 获取提示时间,取所有设置的结束时间中最小的时间 ,不包括培训时间和课程时间-->
<!-- tempOnStudyIds记录在活动开放时间内的活动ids;如果活动时间开始flag=true,并且结束时间flag=false-->
<!--当遍历到的活动符合条件,aid为空时,将本活动的id赋值给aid -->
<!-- 如果aid 符合条件,在目录显示对应的章节 -->
<!-- 如果该aid不符合条件,则不显示对应章节 -->
<!-- 如果活动时间开始flag=true,并且结束时间flag=false,就点击该活动就正常显示,否则提示时间 -->
<a href="###"
onclick="studyCourse('c_d2673d8e04224584976e5c588039f705','', 'a_efcefc7aedd64a3ea8d1385491e842dd')"
class="s-title
nopatici
">
<h5 id="actH5_a_efcefc7aedd64a3ea8d1385491e842dd" title="手机密码安全" isExam="notExam" hasBegun="Y" hasEnded="N">手机密码安全</h5>
<i class="ico">
<span class="tag">
未参与
</span>
</i>
</a>
<!-- 活动id如果为空,则将第一个遍历到的 activity.id赋予它 -->
<!-- .now 获取当前时间 -->
<!--活动开始标志全部已设置的时间都已开始(null跳过) -->
<!-- 获取提示时间,取所有设置的时间中最大的时间 -->
<!--活动结束标志全部已设置的时间都未结束(null跳过),不包括培训时间和课程时间 -->
<!-- 获取提示时间,取所有设置的结束时间中最小的时间 ,不包括培训时间和课程时间-->
<!-- tempOnStudyIds记录在活动开放时间内的活动ids;如果活动时间开始flag=true,并且结束时间flag=false-->
<!--当遍历到的活动符合条件,aid为空时,将本活动的id赋值给aid -->
<!-- 如果aid 符合条件,在目录显示对应的章节 -->
<!-- 如果该aid不符合条件,则不显示对应章节 -->
<!-- 如果活动时间开始flag=true,并且结束时间flag=false,就点击该活动就正常显示,否则提示时间 -->
<a href="###"
onclick="studyCourse('c_d2673d8e04224584976e5c588039f705','', 'a_4a64d0844bc64f77aa3d245f295f9de8')"
class="s-title
nopatici
">
<h5 id="actH5_a_4a64d0844bc64f77aa3d245f295f9de8" title="妥善处理个人信息" isExam="notExam" hasBegun="Y" hasEnded="N">妥善处理个人信息</h5>
<i class="ico">
<span class="tag">
未参与
</span>
</i>
</a>
<!-- 活动id如果为空,则将第一个遍历到的 activity.id赋予它 -->
<!-- .now 获取当前时间 -->
<!--活动开始标志全部已设置的时间都已开始(null跳过) -->
<!-- 获取提示时间,取所有设置的时间中最大的时间 -->
<!--活动结束标志全部已设置的时间都未结束(null跳过),不包括培训时间和课程时间 -->
<!-- 获取提示时间,取所有设置的结束时间中最小的时间 ,不包括培训时间和课程时间-->
<!-- tempOnStudyIds记录在活动开放时间内的活动ids;如果活动时间开始flag=true,并且结束时间flag=false-->
<!--当遍历到的活动符合条件,aid为空时,将本活动的id赋值给aid -->
<!-- 如果aid 符合条件,在目录显示对应的章节 -->
<!-- 如果该aid不符合条件,则不显示对应章节 -->
<!-- 如果活动时间开始flag=true,并且结束时间flag=false,就点击该活动就正常显示,否则提示时间 -->
<a href="###"
onclick="studyCourse('c_d2673d8e04224584976e5c588039f705','', 'a_d159b40f0c1445bfbf862085d27dba5d')"
class="s-title
nopatici
">
<h5 id="actH5_a_d159b40f0c1445bfbf862085d27dba5d" title="网站浏览安全" isExam="notExam" hasBegun="Y" hasEnded="N">网站浏览安全</h5>
<i class="ico">
<span class="tag">
未参与
</span>
</i>
</a>
<!-- 活动id如果为空,则将第一个遍历到的 activity.id赋予它 -->
<!-- .now 获取当前时间 -->
<!--活动开始标志全部已设置的时间都已开始(null跳过) -->
<!-- 获取提示时间,取所有设置的时间中最大的时间 -->
<!--活动结束标志全部已设置的时间都未结束(null跳过),不包括培训时间和课程时间 -->
<!-- 获取提示时间,取所有设置的结束时间中最小的时间 ,不包括培训时间和课程时间-->
<!-- tempOnStudyIds记录在活动开放时间内的活动ids;如果活动时间开始flag=true,并且结束时间flag=false-->
<!--当遍历到的活动符合条件,aid为空时,将本活动的id赋值给aid -->
<!-- 如果aid 符合条件,在目录显示对应的章节 -->
<!-- 如果该aid不符合条件,则不显示对应章节 -->
<!-- 如果活动时间开始flag=true,并且结束时间flag=false,就点击该活动就正常显示,否则提示时间 -->
<a href="###"
onclick="studyCourse('c_d2673d8e04224584976e5c588039f705','', 'a_d2d2c9542897473191734e4da22af53f')"
class="s-title
nopatici
">
<h5 id="actH5_a_d2d2c9542897473191734e4da22af53f" title="注册安全" isExam="notExam" hasBegun="Y" hasEnded="N">注册安全</h5>
<i class="ico">
<span class="tag">
未参与
</span>
</i>
</a>
</div>
</div>
</div>
<!-- 该章不为隐藏 -->
<!-- 章id 为空,则将第一个遍历到的 section.id赋予它-->
<div class="lfNav-l ">
<div class="l-title" id="s_82f7394fb7e24655af04031ce65ebd8d" title="第二讲 做网络公民,学会保护隐私信息">第二讲 做网络公民,学会保护隐私信息</div>
<!-- 如果章下面有节 ,遍历该章所有的节-->
<!-- 该节不为隐藏 -->
<!-- 节id如果为空,则将第一个遍历到的 childSection.id赋予它 -->
<div class="lfNav-m ">
<div class="m-title" id="sc_dda61ecba3ee4a288c6bc8f72bd66c38" title="知识讲解">知识讲解</div>
<div href="" class="lfNav-s">
<!-- 活动id如果为空,则将第一个遍历到的 activity.id赋予它 -->
<!-- .now 获取当前时间 -->
<!--活动开始标志全部已设置的时间都已开始(null跳过) -->
<!-- 获取提示时间,取所有设置的时间中最大的时间 -->
<!--活动结束标志全部已设置的时间都未结束(null跳过),不包括培训时间和课程时间 -->
<!-- 获取提示时间,取所有设置的结束时间中最小的时间 ,不包括培训时间和课程时间-->
<!-- tempOnStudyIds记录在活动开放时间内的活动ids;如果活动时间开始flag=true,并且结束时间flag=false-->
<!--当遍历到的活动符合条件,aid为空时,将本活动的id赋值给aid -->
<!-- 如果aid 符合条件,在目录显示对应的章节 -->
<!-- 如果该aid不符合条件,则不显示对应章节 -->
<!-- 如果活动时间开始flag=true,并且结束时间flag=false,就点击该活动就正常显示,否则提示时间 -->
<a href="###"
onclick="studyCourse('c_d2673d8e04224584976e5c588039f705','', 'a_44e9ee26ceb74fc5a5ea36ffb6f8be4a')"
class="s-title
nopatici
">
<h5 id="actH5_a_44e9ee26ceb74fc5a5ea36ffb6f8be4a" title="做网络公民,学会保护隐私信息" isExam="notExam" hasBegun="Y" hasEnded="N">做网络公民,学会保护隐私信息</h5>
<i class="ico">
<span class="tag">
未参与
</span>
</i>
</a>
</div>
</div>
</div>
</div>
<!--如果aid为空就把第一个在开放时间内的活动id赋值给aid -->
<input id="aidHidden_a_d73d8f896de644c19261b75ec1127d6f" activityId="a_d73d8f896de644c19261b75ec1127d6f" type="hidden" class="aidHidden ing" value="a_d73d8f896de644c19261b75ec1127d6f">
<input id="aidHidden_a_06feeb419bee4f16a8cfa3634485f1e3" activityId="a_06feeb419bee4f16a8cfa3634485f1e3" type="hidden" class="aidHidden " value="a_06feeb419bee4f16a8cfa3634485f1e3">
<input id="aidHidden_a_e6ff0557a53b48bd8ba681c3d13b3748" activityId="a_e6ff0557a53b48bd8ba681c3d13b3748" type="hidden" class="aidHidden " value="a_e6ff0557a53b48bd8ba681c3d13b3748">
<input id="aidHidden_a_efcefc7aedd64a3ea8d1385491e842dd" activityId="a_efcefc7aedd64a3ea8d1385491e842dd" type="hidden" class="aidHidden " value="a_efcefc7aedd64a3ea8d1385491e842dd">
<input id="aidHidden_a_4a64d0844bc64f77aa3d245f295f9de8" activityId="a_4a64d0844bc64f77aa3d245f295f9de8" type="hidden" class="aidHidden " value="a_4a64d0844bc64f77aa3d245f295f9de8">
<input id="aidHidden_a_d159b40f0c1445bfbf862085d27dba5d" activityId="a_d159b40f0c1445bfbf862085d27dba5d" type="hidden" class="aidHidden " value="a_d159b40f0c1445bfbf862085d27dba5d">
<input id="aidHidden_a_d2d2c9542897473191734e4da22af53f" activityId="a_d2d2c9542897473191734e4da22af53f" type="hidden" class="aidHidden " value="a_d2d2c9542897473191734e4da22af53f">
<input id="aidHidden_a_44e9ee26ceb74fc5a5ea36ffb6f8be4a" activityId="a_44e9ee26ceb74fc5a5ea36ffb6f8be4a" type="hidden" class="aidHidden " value="a_44e9ee26ceb74fc5a5ea36ffb6f8be4a">
<div class="g-esst-main">
<div class="contentBox ">
<div class="title">
<div class="intl">
<h3 id="activitiTitle">
<a class="btn-prev disable"><i class="tag">上一活动</i></a>
<span class="name" title="密码设置">密码设置</span>
<a class="btn-next " ><i class="tag">下一活动</i></a>
</h3>
</div>
</div>
<div class="m-incont">
<div style="background-color:#fff">
<style>
.flash_txt a:link {color: blue}
.flash_txt a:visited {color: blue}
.flash_txt a:hover {color: blue}
.flash_txt a:active {color: blue}
</style>
<!-- 缓存中存在学习时间限制就用缓存中的时间限制来判断,否则就以活动和课程的时间为准 -->
<div class="g-study-dt">
<div class="g-study-prompt">
<p>
<i class="ico-warn"></i>
要求观看视频<span>1</span>分钟
<i>/</i>
您已观看<span id="viewTimeTxt">0</span>分钟
<input type="hidden" value="0">
</p>
</div>
<script>
$(function(){
//隐藏活动完成情况
study_prompt();
});
//隐藏活动完成情况
function study_prompt(){
$(".g-study-prompt .close").on("click",function(){
var $this_p = $(this).parent(".g-study-prompt");
$this_p.css({"display":"none"});
});
//$(".g-study-prompt").delay(20000).fadeOut(500,0);
}
</script>
<div class="g-studyAct-box spc">
<div class="g-studyAct-time">
<div class="am-main-r" style="right:0">
</div>
<div class="video-frame-wrap">
<div id="playerDiv" class="m-study-video">
<!-- <video controls="" width="100%" height="500">
<source src="../video/mo.mkv" width="100%">
<source src="../video/mo.mp4" width="100%">
</video> -->
<div id="video" style="height: 500px;"></div>
</div>
</div>
<div class="m-studyFt-opt">
<!-- <div class="m-studyFt-optLi">
<a href="javascript:void(0);" class="btn u-inverse-btn"><i class="u-iFont-ico"></i>下载字幕</a>
</div> -->
<atarget="_blank" class="m-paly-link">视频不能播放?下载安装插件</a>
</div>
</div>
</div>
</div>
<input type="hidden" id="videoSummary" value="">
<script type="text/javascript" src="/common/js/ckplayer/ckplayer.js"></script>
<script>
var isFirst = true;
var startTime;
var endTime;
var api;
var watchTime = 0;
var interval = parseInt('60');
//interval = 6;
var container = document.getElementById("player");
var cookieKey = 'video_last_view_time_68d24b536c2a433bb384813ec2ccec1f_32842fcc1be64661879b2ebe0226fd83';
var qualities = null;
var url = null;
var setResult = true;
var isAlert = true;
var isComplete = false;
var ducation = 0;
console.info(isComplete)
if('url' == 'file'){
url = 'http://neaf.gdei.edu.cn/';
}else if('url' == 'url'){
url = 'http://near.gdei.edu.cn/video/2018/wlaqxw/video/wlaqxw_01_01_01.mp4';
}else{
if('' != ''){
url = 'http://183.62.8.181:9301/';
}else{
url = 'http://183.62.8.181:9301/';
}
if('' != '' && '' != ''){
qualities = ["高清", "标清"];
}
}
url = url.replace('near.gdei.edu.cn', 'r.gdteacher.net');
url = url.replace('neaf.gdei.edu.cn', 'file.gdteacher.net');
$(function(){
var url1 = 'http://near.gdei.edu.cn/video/2018/wlaqxw/video/wlaqxw_01_01_01.mp4';
url1 = url1.replace('near.gdei.edu.cn', 'r.gdteacher.net');
url1 = url1.replace('neaf.gdei.edu.cn', 'file.gdteacher.net');
console.info(url1)
var videoObject = {
container: '#video',//“#”代表容器的ID,“.”或“”代表容器的class
variable: 'player',//该属性必需设置,值等于下面的new chplayer()的对象
autoplay: false,
video: url1,
};
var player = new ckplayer(videoObject);
player.addListener('duration', function(duration){
startTime = 0;
endTime = video.duration;
if(video.duration < interval){
interval = video.duration - 2;
localStorage.setItem(cookieKey, 0);
}
if(60 <= video.duration && video.duration < 62){
interval = 55;
localStorage.setItem(cookieKey, 0);
}
});
player.addListener('play', function(){
if(isFirst){
setResult = true;
isFirst = false;
}
setTime();
$.ajax({
url:'/a_d73d8f896de644c19261b75ec1127d6f/study/video/user/updateVideoStatus',
type:'post',
data:'_method=PUT&id=447d36520085073cb0302d350772528f'
});
//$.put('/a_d73d8f896de644c19261b75ec1127d6f/study/video/user/updateVideoStatus', 'id=447d36520085073cb0302d350772528f');
if(isComplete){
if(isAlert){
//mylayerFn.btns({
//content: '您已完成这个活动',
//icon: 3,
//btns: [
//{content:"确定", type:1, close: true}
//]
//});
}
isAlert = false;
}
});
player.addListener('ended', function(){
isFirst = true;
removeCoolie();
$('#playerDiv').stopTime('A');
//$.put('/a_d73d8f896de644c19261b75ec1127d6f/study/video/user/updateVideoStatus', 'id=447d36520085073cb0302d350772528f');
});
player.addListener('pause',function(){
$('#playerDiv').stopTime('A');
});
});
function setTime(){
$('#playerDiv').everyTime('1s', 'A', function(){
if(watchTime != 0 && watchTime % parseInt(interval) == 0){
console.info('updateLastViewTime')
updateLastViewTime(true);
}
watchTime++;
});
}
setA();
function setA(){
$('#playerDiv').oneTime('900s', 'B', function(){
$('#playerDiv').stopTime('B');
player.videoPause();
mylayerFn.btns({
content: '您在本页面的停留很长时间了,系统将在15分钟后自动退出登录,是否继续学习?',
btns:[
{content:"继续学习", classname:'mylayer-btn3', type:0, close: true, fn:function(){
$.ajax({
url: '/ncts/resetSession',
success: function(data){
if(data.responseCode == '00'){
setA();
player.videoPlay();
}else{
alert('访问超时, 请重新登录');
}
},
error: function(XMLHttpRequest, textStatus, errorThrown){
if(textStatus == 'error'){
//window.location.reload();
}
}
});
}},
]
});
});
}
function setCookie(time){
if(time < endTime && time > startTime){
try {
localStorage.removeItem(cookieKey);
localStorage.setItem(cookieKey, time);
} catch(e) {
localStorage.clear();
localStorage.setItem(cookieKey, time);
}
}
}
function removeCoolie(){
localStorage.removeItem(cookieKey);
}
function updateLastViewTime(isLimit, callback){
if(setResult){
if('Y' == 'Y'){
$.ajax({
url:'/a_d73d8f896de644c19261b75ec1127d6f/study/video/user/447d36520085073cb0302d350772528f/updateViewTime',
type:'post',
data:'_method=PUT&isLimit='+isLimit,
success:function(data){
if(callback!=undefined){
var $callback = callback;
if (! $.isFunction($callback)) $callback = eval('(' + callback + ')');
$callback();
}
if(data.responseCode == '01' && data.responseMsg == 'more video is open'){
player.videoPause();
mylayerFn.btns({
content: '系统检测到您的账号已打开其他视频的观看页面, 为防止多个视频活动同时计时, 请为此前视频活动作以下选择',
icon: 3,
btns: [
{content:"计时观看", type:1, close: true, fn:function(){
$.ajax({
url:'/a_d73d8f896de644c19261b75ec1127d6f/study/video/user/updateVideoStatus',
type:'post',
data:'_method=PUT&id=447d36520085073cb0302d350772528f',
success:function(data){
player.videoPlay();
}
});
}},
{content:"不计时观看", type:2, close: true,fn: function(){
setResult = false;
player.videoPlay();
}}
]
});
}else{
var viewTime = data.responseData;
console.info(viewTime)
if(viewTime != ''){
viewTime = parseInt(viewTime);
if(viewTime >= parseInt('1') * 60){
console.info(isComplete)
if(!isComplete){
//mylayerFn.btns({
//content: '您已完成这个活动',
//icon: 3,
//btns: [
//{content:"确定", type:1, close: true}
//]
//});
//$.put('/a_d73d8f896de644c19261b75ec1127d6f/study/video/user/447d36520085073cb0302d350772528f/updateViewTime', 'toDb='+true);
$.ajax({
url:'/a_d73d8f896de644c19261b75ec1127d6f/study/video/user/447d36520085073cb0302d350772528f/updateViewTime',
type:'post',
data:'_method=PUT&toDb='+true,
success: function(){
}
});
}
isComplete = true;
isAlert = false;
}
if($('#viewTimeTxt')){
$('#viewTimeTxt').text(Math.floor(viewTime / 60));
}
}
}
}
});
}
}
}
flyRead();
$('.m-studyRight-opt .item3').addClass('hadsee');
$('.m-studyRight-opt .g-studyRead-layer').addClass('hadsee');
var color = '#e8a119';
function flyRead(){
var Texth = $(".g-studyRead-layer h3").text();
var Texttxt = $(".g-studyRead-layer .txt").text();
$(".g-studyRead-layer .close").click(function(event){
$(".g-studyRead-layer h3").text("");
$(".g-studyRead-layer .txt").text("");
$(".g-studyRead-layer .close").text("");
var offset = $("#end").offset();
var addcar = $(this);
var img = addcar.parent().find('img').attr('src');
var flyer = $(".u-flyer");
$(".g-studyRead-layer").animate({"height":"0px","width":"40","top":"170px","left":"-250px","opacity":"0.8"},500,function(){
$(".g-studyRead-layer").css({"z-index":0}).prepend("<span class='u-flyer'></span>");
$(".m-studyRight-opt .item3").animate({'backgroundColor' : color}, 500);
$(".g-studyRead-layer").css({"opacity":"0"});
$(".g-studyShade2").css({"display":"none"});
$(".u-flyer").animate({'backgroundColor' : color}, 200);
var flyer = $(".u-flyer");
flyer.fly({
start: {
left: event.pageX, //开始位置(必填)#fly元素会被设置成position: fixed ,已经在js里改为position:absolute
top: event.pageY //开始位置(必填)
},
end: {
left: offset.left+10, //结束位置(必填)
top: offset.top+10, //结束位置(必填)
width: 40, //结束时宽度
height: 0, //结束时高度
opacity:0
},
autoPlay:true,
speed: 2.1,
vertex_Rtop:400,
onEnd: function(){ //结束回调
}
});
});
});
$("body").on("click",".m-studyRight-opt .item3",function(event){
$(".g-studyRead-layer").css({"z-index":100})
$(".g-studyRead-layer h3").text("");
$(".g-studyRead-layer .txt").text("");
$(".g-studyRead-layer .close").text("");
$(this).prepend("<span class='u-flyer'></span>");
$(".u-flyer").css({'background':color}).animate({'backgroundColor' : '#fafafa'}, 200);
var offset = $(".g-studyRead-layer").offset();
var addcar = $(this);
var img = addcar.parent().find('img').attr('src');
var flyer = $(".u-flyer");
flyer.fly({
start: {
left: event.pageX, //开始位置(必填)#fly元素会被设置成position: fixed 已经在js里改为position:absolute
top: event.pageY //开始位置(必填)
},
end: {
left: offset.left+10, //结束位置(必填)
top: offset.top+10, //结束位置(必填)
width: 40, //结束时宽度
height:20, //结束时高度
opacity:1
},
autoPlay:true,
speed: 2.1,
vertex_Rtop:400,
onEnd: function(){ //结束回调
$(".g-studyRead-layer").css({"opacity":"1"});
$(".g-studyShade2").css({"display":"block"});
$(".m-studyRight-opt .item3").animate({'backgroundColor' : '#bebebe'}, 500);
$(".u-flyer").animate({'backgroundColor' : '#bebebe'}, 500).css({"opacity":"0"});
$(".g-studyRead-layer").css({"overflow":"visible"}).animate({"height":"416px","width":"340","top":"-130px","left":"-400px","z-index":""+100+""},500,function(){
$(".g-studyRead-layer h3").text(Texth);
$(".g-studyRead-layer .txt").text(Texttxt);
$(".g-studyRead-layer .close").text("关闭>");
});
}
});
});
}
</script>
</div>
</div>
</div>
</div>
</div>
<input type="hidden" id="loadDivId" value="content" />
<div class="blackBg"></div>
<div class="blackBg1"></div>
<div class="whiteBg"></div>
<div class="ag-whitebg"></div>
<div class="ag-blackbg"></div>
<aclass="m-studytipfixed" target="_blank"></a>
</div>
<form id="downloadFileForm" action="/file/downloadFile.do" method="post" target="_blank">
<input type="hidden" name="id">
<input type="hidden" name="fileName">
<input type="hidden" name="fileRelations.type">
<input type="hidden" name="fileRelations.relation.id">
</form>
<form id="updateFileForm" target="_blank">
<input type="hidden" name="id">
<input type="hidden" name="fileName">
</form>
<form id="deleteFileRelationForm" target="_blank">
<input type="hidden" name="fileId">
<input type="hidden" name="relation.id">
<input type="hidden" name="type">
</form>
<form id="deleteFileInfoForm" target="_blank">
<input type="hidden" name="id">
</form>
<form id="studyCourseForm" >
<input type="hidden" name="offsetTop">
<input type="hidden" name="goLastActivity">
</form>
<script>
function studyCourse(courseId, sectionId, activityId){
var url = '/study/course/'+courseId;
if(sectionId != null && sectionId != ''){
url = '/'+sectionId+'/study/course/'+courseId;
$('#studyCourseForm input').val('N');
}
if(activityId != null && activityId != ''){
url = '/'+activityId+'/study/course/'+courseId;
$('#studyCourseForm input').val('N');
}
$('#studyCourseForm').attr('action', url);
$('#studyCourseForm input').val($(document).scrollTop());
$('#studyCourseForm').submit();
}
</script>
</body>
</html>
<script>
$(function () {
// 初始化内容高度
$('.g-esst-main').css({
'min-height': $(window).height() - $('.g-esst-header').outerHeight()
})
// 右侧展开收起
$('.show-rSider').click(function () {
$('.g-esst-rSider').animate({
right: 0
}, 220)
})
$('.g-esst-rSider .close-btn').click(function () {
$('.g-esst-rSider').animate({
right: -269
}, 220)
})
// 左侧展开收起
lSider()
function lSider() {
$('.g-esst-lfNav .l-title').on('click', function () {
if ($(this).parent('.lfNav-l').hasClass('showed')) {
$(this).parent('.lfNav-l').removeClass('showed')
} else {
$('.g-esst-lfNav .lfNav-l').removeClass('showed')
$(this).parent('.lfNav-l').addClass('showed')
$(this).siblings('.lfNav-m').addClass('showed')
}
})
$('.g-esst-lfNav .m-title').on('click', function () {
if ($(this).parent('.lfNav-m').hasClass('showed')) {
$(this).parent('.lfNav-m').removeClass('showed')
} else {
$(this).parent('.lfNav-m').addClass('showed')
}
})
}
})
function goPrev(aid){
if((aid != '')&&(aid != null)){
var $this = $('#aidHidden_'+aid);
var index = $('.aidHidden').index($this);
if(index != 0){
var $prev = $this.prev();
var id = $prev.attr('activityId');
var hasBegun = $('#actH5_'+id).attr('hasBegun');
var hasEnded = $('#actH5_'+id).attr('hasEnded');
var isExam = $('#actH5_'+id).attr('isExam');
//上一个活动还没有开始或者已结束
if((hasBegun == 'N')|| (hasEnded == 'Y')){
if(index == 1){
alert('没有进行中的上一活动');
}else{
goPrev(id);
}
}else{
//如果是考试,那么先判断是否已完成其他活动
if(isExam == 'exam'){
goExam('c_d2673d8e04224584976e5c588039f705','', $next.val())
}else{
studyCourse('c_d2673d8e04224584976e5c588039f705','', $prev.val());
}
}
}else{
alert('已经是第一个活动');
}
}else{
alert('没有进行中的上一活动');
}
}
function goNext(aid){
if((aid != '')&&(aid != null)){
var $this = $('#aidHidden_'+aid);
var index = $('.aidHidden').index($this);
if(index != $('.aidHidden').length - 1){
var $next = $this.next();
var id = $next.attr('activityId');
var hasBegun = $('#actH5_'+id).attr('hasBegun');
var hasEnded = $('#actH5_'+id).attr('hasEnded');
var isExam = $('#actH5_'+id).attr('isExam');
if((hasBegun == 'N')|| (hasEnded == 'Y')){
if(index == $('.aidHidden').length - 2){
alert('没有进行中的下一活动');
}else{
goNext(id);
}
}else{
//如果是考试,那么先判断是否已完成其他活动
if(isExam == 'exam'){
goExam('c_d2673d8e04224584976e5c588039f705','', $next.val())
}else{
studyCourse('c_d2673d8e04224584976e5c588039f705','', $next.val());
}
}
}else{
alert('已经是最后一个活动');
}
}else{
alert('没有进行中的下一活动');
}
}
$(function(){
$.cookie('last_study_aid_32842fcc1be64661879b2ebe0226fd83_c_d2673d8e04224584976e5c588039f705', 'a_d73d8f896de644c19261b75ec1127d6f|sc_b9b1595a94b04375a2beaecebb19a1f2', { expires: 30, path: '/' });
});
scroll_cont() //页面滚动事件
$(window).resize(scroll_cont)
function scroll_cont() {
var tl_w = parseInt($(".contentBox .m-incont").width())-300
$(".contentBox .intl .name").css({"width":tl_w})
$(window).scroll(function () {
var scrollTop = $(window).scrollTop();
if (scrollTop > 70) {
$(".contentBox .intl").addClass("scroll")
} else {
$(".contentBox .intl").removeClass("scroll")
}
});
}
//不在活动时间内提示
function tipsActivityStartTime(activityTime) {
alert("该活动将于 "+activityTime+" 开放学习,敬请期待。");
}
function tipsActivityEndTime(activityTime) {
alert("该活动已于 "+activityTime+" 结束开放。");
}
//去考试
function goExam(courseId,activityId){
var url = '/activity/is_completeOtherExceptExam/'+courseId;
//校验其他非考试的活动是否全部完成
$.ajax({
url : url,
type : 'get',
dataType : 'json',
//data:{name3:"name3"},
success : function(data) {
//console.log(data);
//var response = $.parseJSON(data);
if(data.responseCode == '00'){
studyCourse(courseId,'', activityId);
}else{
//alert
alert( "考试活动,需要完成其他活动才能开始学习!");
}
},
})
}
</script> 找到播放器DOM 节点 设置 .playbackRate = 1.75 试试
页:
[1]