TA的每日心情 | 擦汗 2023-4-18 13:55 |
---|
签到天数: 34 天 [LV.5]常住居民I
初级工程师
- 积分
- 67
|
悬赏10油猫币已解决
本帖最后由 ZYMKJ 于 2022-9-26 14:55 编辑
上个问题 可以忽略。 PS.顺便问一句,如何关闭悬赏贴。
我发现一个bug,我完全不需要跨iframe读取“开始学习”这个class。因为只要打开那个网页,后台就开始计时。
所以,忽略就完事了。
但有一个新的问题。就是设置定时关闭新打开的网页B(图片2),然后延迟3秒刷新网页A(图片1)
现在网页B 最下面有一个标签<script type="text/javascript">
document.oncontextmenu = function(){
return false;
}
readAssist("2878","10","481","20.0","2400","/study", 240);
< /script>
(图3)
在控制台输入readassist,显示如下代码:
(function(window,$){
var timer1;
var timer2;
window.readAssist=function(id,source,postion,percent,len,root,timespace)
{
var reloginpage=root+"/page/common-tokenerror";
var assist=new Object;
assist.hid=0;
assist.url=root+"/resource/saveTssView";
assist.source=source;
assist.postion=postion;
assist.percent=percent;
assist.len=len;
assist.time=parseInt(new Date().getTime()/1000);
if(timespace&&!isNaN(timespace)){
assist.timespace=timespace*1000
}
else
{
assist.timespace=60000
}
var result=new Object();
result.cid=id;
result.source=assist.source;
result.position=assist.postion;
result.percent=assist.percent;
assist.first=function(){
if(assist.hid==0){
$.ajax({
url:assist.url,data:JSON.stringify(result),type:"post",dataType:"json",timeout:20000,contentType:'application/json;charset=utf-8',error:function(message){
window.wxc.xcConfirm("网络繁忙,请稍后刷新页面重试!","studyWarning")
},
success:function(data){
if(data){
if(data.status==0){
assist.hid=data.id;
if(assist.timespace!=0){
timer1=window.setInterval(function(){
assist.progressing()
},
assist.timespace);
timer2=window.setTimeout(function(){
assist.progressing();
clearInterval(timer1)
},
(parseInt(len))*1000)
}
}
else if(data.status==1){
window.wxc.xcConfirm("获得初始进度失败,请刷新页面重试!","studyWarning")
}
}
}
}
)
}
};
assist.progressing=function(){
var now=parseInt(new Date().getTime()/1000);
if(assist.postion==""){
assist.postion=now-assist.time
}
else{
assist.postion=parseInt(assist.postion)+(now-assist.time)
}
assist.time=now;
var result=new Object();
result.historyId=assist.hid;
result.position=assist.postion;
result.len=assist.len;
result.cid=id;$.ajax({
url:assist.url,data:JSON.stringify(result),type:"post",dataType:"json",timeout:20000,contentType:'application/json;charset=utf-8',error:function(message){
window.wxc.xcConfirm("网络繁忙,请稍后刷新页面重试!","error")
},
success:function(data){
if(data){
if(data.status==0){
}
else if(data.status==1){
window.wxc.xcConfirm("进度记录失败,请刷新页面重试!","studyWarning")
}
else if(data.status==2){
window.clearTimeout(timer1);
window.clearTimeout(timer2);
window.wxc.xcConfirm("不能同时学习多门课程,点击确认关闭窗口。","readCourse",{
onOk:function(v){window.close()
}
}
)
}
}
}
}
)
};
assist.history=function(){
if(assist.hid==0){
assist.first()
}
else{
assist.progressing()
}
};
assist.history();
return assist
}
}
)
(window,$);
我需要在外置脚本中 调用len(变量)这个数值设定为自动关闭网页B的时间,Len+5秒为刷新网页A的时间。现在不会调取当前网页的len,并把这个len值设为自动关闭网页的时间。
|
最佳答案
查看完整内容
https://bbs.tampermonkey.net.cn/forum.php?mod=viewthread&tid=2267&highlight=%5B%E8%84%9A%E6%9C%AC%E5%AE%9E%E6%88%98%E7%AF%87%5D
跨域实战
善用论坛搜索
各种教程非常完善的
|