📄 wm_spy.js
字号:
jspp.using("mocom.WAPmo.Kernel");
jspp.using("mocom.WAPmo.OptionCard");
jspp.Spy = {
page : 0,
responseList : null,
responseContent : null,
doPage : function(page)
{
jspp.Spy.page = page;
MessageBox.show(MSG_WAITING, "正在获取采集规则……");
var rpc = new xmlrpc();
rpc.setData("Handle", "list");
rpc.setData("Page", page);
rpc.callBack = function()
{
var http = rpc.http;
if (http.readyState == 4)
{
if (http.status == 200)
{
MessageBox.close();
document.getElementById("_list_").innerHTML = http.responseText;
}
else
{
MessageBox.write("获取采集规则错误:" + http.responseText);
MessageBox.setType(MSG_WARNING);
}
}
};
rpc.doGet("admin_spy.asp", true);
},
control : function(obj, id, sid)
{
switch (atol(obj.value))
{
case 0:
break;
case 1:
jspp.Spy.modify(id, sid);
break;
case 2:
jspp.Spy.copy(id);
break;
case 3:
jspp.Spy.remove(id);
break;
}
obj.selectedIndex = 0;
},
getChecked : function(frm)
{
var ptr = frm.getElementsByTagName("INPUT");
var arr = new Array();
for (var i = 0; i < ptr.length; i++)
{
if (ptr[i].id == "SeqId" && ptr[i].checked == true)
{
arr.push(ptr[i].value);
}
}
return(arr);
},
modify : function(id, sid)
{
var rpc = new xmlrpc();
rpc.setData("Handle", "Modify");
rpc.setData("SeqId", id);
rpc.doGet("admin_spy.asp", false);
var http = rpc.http;
if (http.status == 200)
{
opt.cache[1] = http.responseText;
opt.callBack[1] = null;
opt.lock(1);
Kernel.setFollow(Form.child("frmMain"), "Staple", 0, 0, sid);
}
else
{
MessageBox.show(MSG_WARNING, "获取规则出错:" + http.responseText);
}
rpc.close();
rpc = null;
},
copy : function(id)
{
var rpc = new xmlrpc();
rpc.setData("Handle", "Copy");
rpc.setData("SeqId", id);
rpc.doGet("admin_spy.asp", false);
var http = rpc.http;
if (http.status == 200)
{
opt.cache[1] = http.responseText;
opt.callBack[1] = null;
opt.lock(1);
Kernel.setFollow(Form.child("frmMain"), "Staple", 0, 0, 0);
}
else
{
MessageBox.show(MSG_WARNING, "获取规则出错:" + http.responseText);
}
rpc.close();
rpc = null;
},
remove : function(id)
{
MessageBox.show(MSG_CONFIRM, "您确定要删除该规则么?");
MessageBox.doAccept(function()
{
jspp.Spy.doRemove(id);
}, true);
},
doRemove : function(id)
{
MessageBox.show(MSG_WAITING, "初始化服务请求……");
var rpc = new xmlrpc();
rpc.setData("SeqId", id);
rpc.callBack = function()
{
var http = rpc.http;
switch (http.readyState)
{
case 1:
MessageBox.write("正在连接服务程序……");
break;
case 2:
MessageBox.write("已连接服务程序……");
break;
case 3:
MessageBox.write("正在返回状态报告……");
break;
case 4:
var ret = http.responseText;
if (ret == "OK")
{
MessageBox.write("<font color=\"#0000FF\">规则删除成功</font>");
MessageBox.setType(MSG_HINT);
MessageBox.doAccept(function()
{
jspp.Spy.doPage(jspp.Spy.page);
}, true);
}
else
{
MessageBox.write("<font color=\"#FF0000\">规则删除失败:" + ret + "</font>");
MessageBox.setType(MSG_WARNING);
}
rpc.close();
rpc = null;
break;
}
};
rpc.doPost("admin_spy.asp?Handle=remove", true);
},
removeAll : function(frm)
{
var arr = jspp.Spy.getChecked(frm);
if (arr.length == 0)
{
MessageBox.show(MSG_WARNING, "请选择您要删除的规则");
return;
}
MessageBox.show(MSG_CONFIRM, "您确定要删除所有选定的规则么?");
MessageBox.doAccept(function()
{
jspp.Spy.doRemove(arr.join(","));
}, true);
},
chkList : function(frm)
{
var dst = String(frm.List.value).trim();
var chs = Form.getRadio("frmMain.Charset");
if (dst == "")
{
MessageBox.show(MSG_WARNING, "请先输入列表地址");
return;
}
MessageBox.show(MSG_WAITING, "初始化服务请求……");
document.getElementById("_LIST_BODY").style.display = "none";
document.getElementById("_LIST_HTML").style.display = "none";
frm.btnChkListRule.disabled = true;
frm.btnChkContentRule.disabled = true;
frm.btnChkPageRule.disabled = true;
frm.btnList.disabled = true;
var rpc = new xmlrpc();
rpc.setData("Handle", "Check.List");
rpc.setData("URL", dst);
rpc.setData("Charset", chs);
rpc.callBack = function()
{
var http = rpc.http;
switch (http.readyState)
{
case 1:
MessageBox.write("正在连接服务程序……");
break;
case 2:
MessageBox.write("已连接服务程序……");
break;
case 3:
MessageBox.write("正在返回状态报告……");
break;
case 4:
var ret = http.responseText;
if (http.status == 200)
{
MessageBox.close();
if (ret.indexOf("MessageBox.show") != -1)
{
eval(ret);
}
else
{
jspp.Spy.responseList = ret;
frm.btnChkListRule.disabled = false;
frm.btnList.disabled = false;
frm.btnList.value = "页面预览";
document.getElementById("_LIST_BODY").style.display = "";
document.getElementById("_LIST_BODY").innerText = ret;
}
}
else
{
MessageBox.write("<font color=\"#FF0000\">检测地址失败:" + ret + "</font>");
MessageBox.setType(MSG_WARNING);
}
rpc.close();
rpc = null;
break;
}
};
rpc.doGet("admin_spy.asp", true);
},
showList : function(obj)
{
if (obj.value == "页面预览")
{
document.getElementById("_LIST_HTML").style.display = "";
document.getElementById("_LIST_HTML").src = obj.form.List.value;
document.getElementById("_LIST_BODY").style.display = "none";
obj.value = "查看源码";
}
else
{
document.getElementById("_LIST_HTML").style.display = "none";
document.getElementById("_LIST_BODY").style.display = "";
document.getElementById("_LIST_BODY").innerText = jspp.Spy.responseList;
obj.value = "页面预览";
}
},
chkListRule : function(frm)
{
var rle = frm.ListRule.value;
if (rle == "")
{
MessageBox.show(MSG_WARNING, "请先输入列表规则");
return;
}
frm.btnChkContentRule.disabled = true;
frm.btnChkPageRule.disabled = true;
frm.Check.value = "0";
var ptr = frm.ListPage.options;
while (ptr.length > 0) ptr[0] = null;
var reg = new RegExp(rle.myreg(), "g");
var arr = reg.exec(jspp.Spy.responseList);
if (arr == null)
{
MessageBox.show(MSG_WARNING, "检测列表规则失败");
}
else
{
while (arr)
{
ptr[ptr.length] = new Option(arr[2] + "[" + arr[3] + "]", getFullURL(frm.List.value, arr[1]));
arr = reg.exec(jspp.Spy.responseList);
}
jspp.Spy.chkContent(frm.ListPage);
}
},
chkContent : function(obj)
{
if (obj.selectedIndex == -1)
{
MessageBox.show(MSG_WARNING, "请先选择连接列表");
return;
}
document.getElementById("_CONTENT_BODY").style.display = "none";
document.getElementById("_CONTENT_HTML").style.display = "none";
document.getElementById("_CONTENT").style.display = "none";
var frm = obj.form;
var chs = Form.getRadio("frmMain.Charset");
frm.btnChkContentRule.disabled = true;
frm.btnChkPageRule.disabled = true;
frm.btnContent.disabled = true;
frm.Check.value = "0";
MessageBox.show(MSG_WAITING, "初始化服务请求……");
var rpc = new xmlrpc();
rpc.setData("Handle", "Check.Content");
rpc.setData("URL", obj.value);
rpc.setData("Charset", chs);
rpc.callBack = function()
{
var http = rpc.http;
switch (http.readyState)
{
case 1:
MessageBox.write("正在连接服务程序……");
break;
case 2:
MessageBox.write("已连接服务程序……");
break;
case 3:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -