// Copyright by mysoo.com.cn
// All rights reseved.
// usage: client page fire queryProgress() periodly
// server side rule:
// request send to indexerServlet with parameters Action=AddDocumentAction&step=progress&IndexDir=={workingIndexName}
// response structure:
// <progress>
// <state>integer</state>
// indexing state: 0 = none indexing task, 1 = indexing, 2 = finished, 3 = broken, other means internal error
// <timeUsed timestamp="stamp">integer</timeUsed>
// <indexedCount>integer</indexedCount>
// <currentItem>string encoded</currentItem>
// <itemsInQue>integer</itemsInQue>
// </progress>
// client side rule:
// client has a span or div with id indexName, its content is the name of working index (no any other character!)
// client has an area with id progressPanel to display progress information
var finished = 0;
function queryProgress(indexName)
{
var req = XMLRequest();
var progressHandler = ReadyStateHandler(req, updateProgress);
req.onreadystatechange = progressHandler;
var indexName = document.getElementById("indexName").innerHTML;
var queryData = "";
//req.open("GET", "index.do?Action=AddDocumentAction&Step=progress&IndexDir="+indexName, true);
queryData = "Action=AddDocumentAction&Step=progress&IndexDir="+indexName;
req.open("POST", "index.do", true);
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send(queryData);
}
function updateProgress(xml)
{
var progress = xml.getElementsByTagName("progress")[0];
var stateNode = progress.getElementsByTagName("state")[0];
var state = stateNode.firstChild.nodeValue;
// index state: 0 = none indexing task, 1 = indexing, 2 = finished, 3 = broken, other means internal error
var msg = "索引任务进度 ";
if ( state == 0 )
{
finished = 0;
msg = "没有属于指定目录的索引任务,可能还没到时间 ";
}else if ( state == 1 ){
var timeNode = progress.getElementsByTagName("timeUsed")[0];
var timeUsed = timeNode.firstChild.nodeValue;
var indexedNode = progress.getElementsByTagName("indexedCount")[0];
var indexedCount = indexedNode.firstChild.nodeValue;
var currentItemNode = progress.getElementsByTagName("currentItem")[0];
var currentItem = unescape(currentItemNode.firstChild.nodeValue);
var itemsInQueNode = progress.getElementsByTagName("itemsInQue")[0];
var itemsInQue = itemsInQueNode.firstChild.nodeValue;
var timestamp = timeNode.getAttribute("timestamp");
msg = "<p>"
+ "建索引任务已经执行了 " + (timeUsed/1000.0) + " 秒,已经完成 " + indexedCount + " 个文档<br>"
+ "最近处理过的文档 " + currentItem + "<br>"
+ "还有 " + itemsInQue + " 个项目等处理 (说明:在处理过程中可能会发现新项) "
+ "</p>";
}else if ( state == 2 ){
msg = "索引任务已完成! ";
finished = 1;
}else if ( state == 3 ){
msg = "索引任务已中断! ";
finished = 1;
}else if ( state == -1 ){
msg = "指定的索引不存在! ";
finished = 1;
}else{
msg = "索引服务器内部错误! ";
finished = 1;
}
var progressPanel = document.getElementById("progressPanel");
progressPanel.innerHTML = msg;
}
function XMLRequest()
{
var req = null;
if ( window.XMLHttpRequest )
{
req = new XMLHttpRequest();
} else if ( window.ActiveXObject) {
try
{
req = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try
{
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch (ee) {
alert("浏览器不支持异步调用,无法完成动态进度显示! ");
}
}
}
return req;
}
var xmlDoc = null;
function ReadyStateHandler(req, responseXmlHandler)
{
return function ()
{
if ( req.readyState == 4 )
{
if (req.status == 200)
{
// if mime-type is not text/xml, then MS IE will refuse to provide responseXML
responseType = req.getResponseHeader("Content-Type");
if ( responseType != "text/xml" && navigator.appName == "Microsoft Internet Explorer" )
{
if ( xmlDoc == null )
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
}
xmlDoc.loadXML(req.responseText);
responseXmlHandler( xmlDoc );
}else{
responseXmlHandler(req.responseXML);
}
} else {
var progressPanel = document.getElementById("progressPanel");
progressPanel.innerHTML = "Server Error: "+ req.status;
}
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
[搜索链接]Mysoo站内搜索 v1.0 Peview_mysoo-1.0-preview.war.rar (52个子文件)
[搜索链接]Mysoo站内搜索 v1.0 Peview_mysoo-1.0-preview.war
[搜索链接]Mysoo站内搜索 v1.0 Peview_mysoo-1.0-preview.war
mysoo-1.0-preview.war
WEB-INF
classes
debug.properties 356B
mime.properties 504B
log4j.properties 373B
lib
mysoo-core-publish.jar 71KB
mysoo-mgmt-web.jar 31KB
log4j-1.2.13.jar 350KB
jstl.jar 20KB
lucene-highlighter-2.0.0.jar 23KB
mysoo-xml.jar 7KB
lucene-core-2.0.0.jar 394KB
mysoo-true.jar 52KB
lucene-analyzers-2.0.0.jar 57KB
standard.jar 385KB
commons-fileupload-1.1.1.jar 31KB
icu4j_3_4_4.jar 3.08MB
web.xml 3KB
mysoo.cfg 939B
sun-web.xml 725B
tlds
mysoo.tld 2KB
index.jsp 33B
images
logo.jpg 1KB
META-INF
context.xml 286B
MANIFEST.MF 71B
jsp
query.jsp 11KB
index.jsp 1KB
header.jspf 445B
q.jsp 4KB
ftxtHitViewer.jsp 515B
defHitViewer.jsp 248B
fsHitViewer.jsp 541B
footer.jspf 603B
license
activate.jsp 1KB
license.jsp 2KB
mysoo.properties 62B
webHitViewer.jsp 449B
indexer
CreateIndexFailed.jsp 692B
DeleteIndexFailed.jsp 659B
header.jspf 502B
AddDocumentOk.jsp 1KB
SetRepositoryDirFailed.jsp 740B
index_ui.js 4KB
footer.jspf 603B
AddDocumentOptions.jsp 3KB
SetRepositoryDirOk.jsp 872B
DeleteIndexConfirm.jsp 1KB
DeleteIndexOk.jsp 643B
CreateIndexOk.jsp 751B
indexer.jsp 8KB
AddDocumentProgress.jsp 2KB
AddDocumentFailed.jsp 729B
scripts
common.js 812B
progress.js 5KB
共 52 条
- 1
资源评论
马coder
- 粉丝: 1202
- 资源: 6602
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- UI Particle Image v1.2.2.unitypackage
- Highlight Plus All in One Outline Selection Effects v12.0
- ALINE v1.7.4.unitypackage
- Curvy Splines 8 v8.9.0.unitypackage
- Touch Camera PRO 2024 Easy Mobile Desktop Camera Controller3.1.2
- Translucent Image - Fast UI Background Blur v3.16.0.unitypackage
- STM32F103RC串口收发DMA程序
- 环境部署配置脚本-Tomcat
- SpringBoot+Vue实现图片滑块和文字点击验证码
- 基于参数优化多样性熵的滚动轴承故障诊断源代码,实现了对多个数据集的测试,并添加了排列熵、样本熵等方法的对比
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功