一个在线学习网站,如果15分钟没有任何操作,就会自动退出。
从网站上看到这段“防挂机”代码如下,请教如何绕过这个限制!
var PageTimeCounter = 0; //初始化页面挂机时间倒计时
var ShutdownCounter = 0; //初始化提示窗口关闭倒计时
var PageTime = 900; //定义页面弹出关闭信息时间,单位秒
var ShutdownTime = 300; //定义关闭信息持续时间,单位秒
var MsgStatus = "hide"; //初始化弹出消息显示状态
var ShowPop; //显示弹出消息
var HidePop; //隐藏弹出消息
function ready() {
var PopMessage = document.getElementById("PopMessage"); $(document).mousemove(function () { ChangeToMaskLess(); if (MsgStatus == "hide") { PageTimeCounter = 0; ShutdownCounter = 0; }; });
document.getElementById('PopMessage').style.height = '0px';
setInterval('ChangeToMask()', 5000);
setInterval('CheckPageTime();', 1000);
}function ChangeToMask() {//启用遮罩层,To-Hack-iframe
var MaskDivZindex = document.getElementById("MaskDiv");
MaskDivZindex.style.zIndex = "0";
}function ChangeToMaskLess() {//禁用遮罩层,To-Control-iframe
var MaskDivZindex = document.getElementById("MaskDiv");
MaskDivZindex.style.zIndex = -100;
}function CheckPageTime() {
if (PageTimeCounter < PageTime)
PageTimeCounter++;
else
PageTimeCounter = PageTime;
$('#show').text(PageTime - PageTimeCounter); //页面挂机时间倒计时
$('#ShowShutdownCounter').text(ShutdownTime - ShutdownCounter); //关闭当前浏览器窗口倒计时,以秒显示
$('#PageTime').text((PageTime / 60).toFixed(0)); //页面挂机时间设定值,以分钟显示
if (PageTimeCounter >= PageTime) {
Show_Notice();
}
}function ShutdownPage() {
ShutdownCounter++;
if (ShutdownCounter >= ShutdownTime) {
Exit();
}
}function Exit() {//强制关闭当前浏览器窗口
window.opener = null; window.open("", '_self', ""); window.close();
}function Show_Notice() {
var PopMessage = document.getElementById("PopMessage");
var popH = parseInt(PopMessage.style.height); //将对象的高度转化为数字
PopMessage.style.display = "block";
ShowPop = setInterval("changeH('up')", 20);
ShutdownPage();
}function Close_Notice() {
PageTimeCounter = 0;
ShutdownCounter = 0;
var PopMessage = document.getElementById("PopMessage");
var popH = parseInt(PopMessage.style.height); //将对象的高度转化为数字
PopMessage.style.display = "block";
HidePop = setInterval("changeH('down')", 20);
}function changeH(str) {//显示和隐藏退出提示框
var PopMessage = document.getElementById("PopMessage");
var popH = parseInt(PopMessage.style.height);
if (str == "up") {
if (popH <= 100) {
PopMessage.style.height = (popH + 4).toString() + "px";
}
else {
clearInterval(ShowPop);
MsgStatus = "show";
}
}
if (str == "down") {
if (popH >= 4) {
PopMessage.style.height = (popH - 4).toString() + "px";
}
else {
clearInterval(HidePop);
PopMessage.style.display = "none";
MsgStatus = "hide";
}
}
}$(document).ready(ready); //启动主程序
从网站上看到这段“防挂机”代码如下,请教如何绕过这个限制!
var PageTimeCounter = 0; //初始化页面挂机时间倒计时
var ShutdownCounter = 0; //初始化提示窗口关闭倒计时
var PageTime = 900; //定义页面弹出关闭信息时间,单位秒
var ShutdownTime = 300; //定义关闭信息持续时间,单位秒
var MsgStatus = "hide"; //初始化弹出消息显示状态
var ShowPop; //显示弹出消息
var HidePop; //隐藏弹出消息
function ready() {
var PopMessage = document.getElementById("PopMessage"); $(document).mousemove(function () { ChangeToMaskLess(); if (MsgStatus == "hide") { PageTimeCounter = 0; ShutdownCounter = 0; }; });
document.getElementById('PopMessage').style.height = '0px';
setInterval('ChangeToMask()', 5000);
setInterval('CheckPageTime();', 1000);
}function ChangeToMask() {//启用遮罩层,To-Hack-iframe
var MaskDivZindex = document.getElementById("MaskDiv");
MaskDivZindex.style.zIndex = "0";
}function ChangeToMaskLess() {//禁用遮罩层,To-Control-iframe
var MaskDivZindex = document.getElementById("MaskDiv");
MaskDivZindex.style.zIndex = -100;
}function CheckPageTime() {
if (PageTimeCounter < PageTime)
PageTimeCounter++;
else
PageTimeCounter = PageTime;
$('#show').text(PageTime - PageTimeCounter); //页面挂机时间倒计时
$('#ShowShutdownCounter').text(ShutdownTime - ShutdownCounter); //关闭当前浏览器窗口倒计时,以秒显示
$('#PageTime').text((PageTime / 60).toFixed(0)); //页面挂机时间设定值,以分钟显示
if (PageTimeCounter >= PageTime) {
Show_Notice();
}
}function ShutdownPage() {
ShutdownCounter++;
if (ShutdownCounter >= ShutdownTime) {
Exit();
}
}function Exit() {//强制关闭当前浏览器窗口
window.opener = null; window.open("", '_self', ""); window.close();
}function Show_Notice() {
var PopMessage = document.getElementById("PopMessage");
var popH = parseInt(PopMessage.style.height); //将对象的高度转化为数字
PopMessage.style.display = "block";
ShowPop = setInterval("changeH('up')", 20);
ShutdownPage();
}function Close_Notice() {
PageTimeCounter = 0;
ShutdownCounter = 0;
var PopMessage = document.getElementById("PopMessage");
var popH = parseInt(PopMessage.style.height); //将对象的高度转化为数字
PopMessage.style.display = "block";
HidePop = setInterval("changeH('down')", 20);
}function changeH(str) {//显示和隐藏退出提示框
var PopMessage = document.getElementById("PopMessage");
var popH = parseInt(PopMessage.style.height);
if (str == "up") {
if (popH <= 100) {
PopMessage.style.height = (popH + 4).toString() + "px";
}
else {
clearInterval(ShowPop);
MsgStatus = "show";
}
}
if (str == "down") {
if (popH >= 4) {
PopMessage.style.height = (popH - 4).toString() + "px";
}
else {
clearInterval(HidePop);
PopMessage.style.display = "none";
MsgStatus = "hide";
}
}
}$(document).ready(ready); //启动主程序
解决方案 »
- 正则表达事 只允许输入1-32的正整数 js方面不熟 在线等 急!!!
- Extjs中如何绑定Json数据源到desktop.createWindow中
- 自己做了一个javascript图片轮播网站,请各位高手赐教!
- 在线高分求解fusionChartsV3简单问题,动态改变数据源报错???
- 用jsp实现身份验证登录的代码
- JAVAScript与Flash冲突
- JS合并生成表单元格问题,高高手进!
- 如何在C#把一個DataTable傳給javascript代碼中
- 关于showModalDialog的问题,太头痛了
- 一个复选框的问题,有点难
- 关于图片加载缩放的问题
- 日期控件jsp里好用。在js里写的不好用。跪求解决办法。大神们!!!
如果以上那些是全局变量的话,直接地址栏注入js
javascript:alert(PageTime=1000000);
或者:
javascript:alert(Show_Notice=function(){});如果不是全局变量,用谷歌Chrome打开,通过开发者工具将代码改掉,比如去掉Show_Notice函数内的代码
<script type="text/javascript">ShutdownTime=121212121212121212;</script>
或者
<script type="text/javascript">$(document).mousemove();</script>