Edit D:\chineseall_products\bak\digitalLib6\pages\screen\web\readers\readPDFBook_v3.jsp
<%@ page contentType="text/html;charset=utf-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <s:set name="templatePath" value="@com.chineseall.core.servlet.InitParameters@pageTemplatePath" /> <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="renderer" content="webkit" /> <title><s:property value="book.name" /></title> <base href="${contextPath}/pages/screen/web/readers/"> <link rel="stylesheet" type="text/css" href="css/read.css"> <script type="text/javascript" src="${contextPath}/js/judgeInput.js"></script> <script type="text/javascript" src="js/pdf3/pdfreader.js"></script> <script type='text/javascript' src='js/jquery-1.10.1.min.js'></script> <script type='text/javascript' src='js/jquery.movescroll.js'></script> <script type="text/javascript" src="js/pdf/jquery.resize.js"></script> <script type='text/javascript' src='${contextPath}/dwr/engine.js'></script> <script type='text/javascript' src='${contextPath}/dwr/interface/webDwr.js'></script> <script> var c = "["; </script> </head> <body onload="setContentLoader()"> <div class="topbar clearfix"> <div class="logo"> <s:property value="book.name" /> </div> <div class="right fright" id="sectionDisplay"></div> </div> <div class="clear"></div> <!--???--> <div class="icolist" title="???????????"> <!--??????--> <div class="boxline noborder" id="roomDiv"> <div class="sel_list_top" onmouseover="displaySel(1);" onmouseout="displaySel(2);" style="float: left;"> <input class="select" id="zoomValue" name="" type="text" value="??????" disabled="disabled"> <a class="sel_img" ></a> <div id="sel_list" class="sel_list" style="display: none;" > <span id="2.59" class="on" onclick="zoom(2.59);">??????</span> <span id="0.5" onclick="zoom(0.5);">50%</span> <span id="0.75" onclick="zoom(0.75);">75%</span> <span id="1" onclick="zoom(1);">100%</span> <span id="1.25" onclick="zoom(1.25);">125%</span> <span id="1.5" onclick="zoom(1.5);">150%</span> <span id="2" onclick="zoom(2);">200%</span> <span id="3" onclick="zoom(3);">300%</span> </div> </div> <img style="margin-left:90px;" src="images/max.png" title="???" onclick="zoomOut();"> <img src="images/min.png" title="???" onClick="zoomIn();"> </div> <!--??????--> <div class="boxline" id="selFit"> <img id="width" src="images/h.png" title="???" onclick="selFit('width')"> <img id="height" src="images/w.png" title="???" onclick="selFit('height');"> </div> <div class="boxline"> <img src="images/up.png" title="???" onclick="nextPage(-1);"> <img src="images/down.png" title="???" onclick="nextPage(1);"> <input id="currpageDiv" class="text" value='<s:property value="pageNum"/>' name="" type="text" onkeydown="keyDown(event)" > <span class="mr10">/<s:property value="totalPageNum" /></span> </div> <!-- <div class="boxline pageTurning"> <img id="turning_2" src="images/fup.png" title="??????" onclick="YCanPDF.SetViewType(2);"> <img id="turning_3" src="images/fzy.png" title="??????" onclick="YCanPDF.SetViewType(3);"> </div> --> <div class="boxline" id="selMode"> <img id="reading" src="images/hand.png" title="??????" onClick="selMode('reading');"> <img id="choose" src="images/wz.png" title="??????" onClick="selMode('choose');"> </div> <!--zuo youfan--> <div class="boxline" id="rotateDiv"> <img src="images/zf.png" title="?????" onClick="YCanPDF.RotateLeft();"> <img src="images/yf.png" title="?????" onClick="YCanPDF.RotateRight();"> </div> <div class="boxline" id="rotateDiv"> <a href="javascript:;" onclick="alert(YCanPDF.GetVersion());">???</a> </div> <div class="right fright" id="pluginInfo" style="color:orange;display:none;font-size:20px;padding-right:10px;">??????IE??irefox??afari????????????????????????????????</div> </div> <div class="clear"></div> <!--????? --> <!-- ???????? <div class="icolist" id="menuline2"> <div class="boxline noborder" id="label"> <img id="highLight" src="images/gl.png" title="???" onclick="setHighLight();"> <span > <img src="images/xhx.png" title="?????" onclick="underLine2(0,'xhx');" id="xhx" > <img src="images/blx.png" title="?????" onclick="underLine2(1,'blx');" id="blx" > <img src="images/xx.png" title="???" onclick="underLine2(2,'xx');" id="xx" > </span> <img id="bookNote" src="images/dh.png" title="???" onclick="setBookNote();"> </div> <div id="color" class="boxline"> <img id="red" src="images/red.png" onclick="changeColor(255, 59, 91,'red');"> <img id="yellow" src="images/yellow.png" onclick="changeColor(253, 255, 45,'yellow');"> <img id="orange" src="images/orange.png" onclick="changeColor(255, 131, 93,'orange');"> <img id="rose" src="images/rose.png" onclick="changeColor(255, 73, 201,'rose');"> <img id="purple" src="images/purple.png" onclick="changeColor(202, 133, 255,'purple');"> <img id="petunia" src="images/petunia.png" onclick="changeColor(122, 55, 222,'petunia');"> <img id="green" src="images/green.png" onclick="changeColor(1, 148, 46,'green');"> <img id="blue" src="images/blue.png" onclick="changeColor(56, 168, 255,'blue');"> <img id="dark_blue" src="images/dark_blue.png" onclick="changeColor(51, 103, 253,'dark_blue');"> <img id="gray" src="images/gray.png" onclick="changeColor(166, 165, 165,'gray');"> <img id="black" src="images/black.png" onclick="changeColor(0, 0, 0,'black');"> </div> </div> --> <div class="clear"></div> <div class="page-container"> <!--??????--> <div class="leftbar_w40"> <a id="aBootItemId" class="catalog" href="javascript:;" title="?????????" onclick="displayDiv('bookItemDiv');">??????</a> <!--<a class="resource"></a>resource_on--> <!-- ????????? <a id="aBootNoteId" class="note" href="javascript:;" title="????????????" onclick="displayDiv('bookNoteDiv');">??????</a> --> <!--resource_on--> <a id="aBootCommentId" class="comment" href="javascript:;" title="????????????" onclick="displayDiv('bookCommentDiv');">??????</a> <!-- ????????? <a class="download" href="js/pdf3/caPDFPluginInst.exe" class="install" title="?????????" target="_blank">??????</a> --> <!--comment_on--> <!-- <a class="return" title="????????????" href="${contextPath}/screen/bookDetail.action?objectId=<s:property value='objectId'/>&activityId=<s:property value='activityId'/>">??????</a> --> <a class="return" title="????????????" href="javascript:closeFileGoBack();">??????</a> <!--return_on--> </div> <!--/*??????????? */--> <s:if test="itemList!=null && itemList.size()>0"> <div class="unfold" id="bookItemDiv" style="display: none;"> <div class="title"> <span>???</span><a class="cross" onclick="displayDiv();"></a> </div> <ul class="textbook" unselectable="on" onselectstart="return false;" style="-moz-user-select:none;"> <s:iterator value="itemList" status="obj"> <li><div> <script> if(c.length>2) c += ','; c += '{"p":<s:property value="page" />,"t":"<s:property value="title" />"}'; </script> <span style="cursor: pointer;" class="chapter_zk"></span> <a href="javascript:;" onclick="displayPage(${page});"> <s:property value="title" /></a> <s:if test="sectionList != null && sectionList.size() > 0"> <s:iterator value="sectionList"> <div class="section"> <a <s:if test="pageNum == page">id="on"</s:if> href="javascript:;" onclick="displayPage(${page});"><s:property value="title" /> </a> <script>c += ',{"p":<s:property value="page" />,"t":"<s:property value="title" />"}';</script> </div> </s:iterator> </s:if> </div></li> </s:iterator> </ul> </div> </s:if> <!-- ?????? <div class="unfold" id="bookNoteDiv" style="display: none;"> <div class="title"> <span>???</span><a class="cross" onclick="displayDiv();"></a> </div> <div class="book_review_title">??????</div> <ul class="comment_list postil" id="bookNoteList"> </ul> </div> --> <div class="unfold" id="bookCommentDiv" style="display: none;"> <div class="title"> <span>???</span><a class="cross" onclick="displayDiv();"></a> </div> <!-- ???????????? <div class="comment_r"> <textarea name="" cols="" rows="" id="bookCommentId"></textarea> <a class="submit" href="javascript:" onclick="addComment();">???</a> </div> --> <div class="clear"></div> <div class="book_review_title">??????</div> <ul class="comment_list" id="bookCommentList"> </ul> </div> <!--right ??????--> <div class="content-wrapper" id="controlContainer" style="z-index:10;height:100%;width:auto;padding:0;margin:0px;"> <div id="readPage" style="z-index:-10;"> <div id="pdfContentLoader"> <object id="YCanPDFIE" classid="clsid:474C1AB2-EFA5-4A19-9267-BA38B685C74B" width="100%" height="<s:property value='pageHeight'/>"> <embed id="YCanPDFNOTIE" type="application/npycanpdfpluginyc" width="100%" height="<s:property value='pageHeight'/>"/> </object> </div> </div> </div> </div> <input type="hidden" name="csrfToken" id="csrfToken" value="<s:property value="@com.digitallib.util.CsrfUtil@generateAndReturnCsrfToken('csrfToken')"/>"> <script type="text/javascript"> <!-- c += ']'; var arr = eval(c); $(document).ready(function() { $(".chapter_zk").click(function() { if ($(this).parent().find(".section").is(':hidden')) { $(this).attr("class","chapter_zk"); $(this).parent().children(".section").show(); } else { $(this).attr("class","chapter"); $(this).parent().children(".section").hide(); } }); }); var pageNum = Number("<s:property value="pageNum"/>"); var totalPageNum = Number("<s:property value="totalPageNum"/>"); var pageWidth = Number("<s:property value='pageWidth'/>"); var pageHeight = Number("<s:property value='pageHeight'/>"); function displayDiv(divId){ var commentDiv = document.getElementById("bookCommentDiv"); var itemDiv = document.getElementById("bookItemDiv"); //var noteDiv = document.getElementById("bookNoteDiv"); ????????? if(divId){ var obj = document.getElementById(divId); }else{ itemDiv.style.display = "none"; commentDiv.style.display = "none"; //noteDiv.style.display = "none"; document.getElementById("aBootItemId").className="catalog"; //document.getElementById("aBootNoteId").className="note"; document.getElementById("aBootCommentId").className="comment"; return; } if(divId=="bookCommentDiv"){ //noteDiv.style.display = "none"; itemDiv.style.display = "none"; commentDiv.style.display = "block"; document.getElementById("aBootItemId").className="catalog"; //document.getElementById("aBootNoteId").className="note"; document.getElementById("aBootCommentId").className="comment comment_on"; } else if(divId=="bookItemDiv"){ itemDiv.style.display = "block"; commentDiv.style.display = "none"; //noteDiv.style.display = "none"; document.getElementById("aBootItemId").className="catalog catalog_on"; //document.getElementById("aBootNoteId").className="note"; document.getElementById("aBootCommentId").className="comment"; } else if(divId=="bookNoteDiv"){ itemDiv.style.display = "none"; commentDiv.style.display = "none"; //noteDiv.style.display = "block"; document.getElementById("aBootItemId").className="catalog"; //document.getElementById("aBootNoteId").className="note note_on"; document.getElementById("aBootCommentId").className="comment"; } } function displaySel(type){ var obj = document.getElementById("sel_list"); if(type == 1){ obj.style.display="block"; }else if(type == 2){ obj.style.display="none"; } } function displayPage(page) { displayDiv("bookItemDiv"); skip(page); } function skip(page) { if(page) { pageNum = page; } else { var obj = document.getElementById("currpageDiv"); if(isEmpty(obj.value) || !isInteger(obj.value) || Number(obj.value)<1 || Number(obj.value)>totalPageNum) { alert("???????????(1~" + totalPageNum + ")"); return; } pageNum = Number(obj.value); } document.getElementById("currpageDiv").value = pageNum ; if(!plugin) { document.getElementById("pdfDisplayFrame").src = "${contextPath}/screen/fetchPDFPage.action?objectId=<s:property value='objectId'/>&activityId=<s:property value='activityId'/>&pageNum=" + pageNum; } else { YCanPDF.PageIndex = pageNum; } } function nextPage(step) { pageNum = pageNum + step; if(pageNum>totalPageNum) { pageNum = totalPageNum; alert("??????????"); return; } else if(pageNum<=0) { pageNum = 1; alert("????????"); return; } document.getElementById("currpageDiv").value = pageNum; if(!plugin) { document.getElementById("pdfDisplayFrame").src = "${contextPath}/screen/fetchPDFPage.action?objectId=<s:property value='objectId'/>&activityId=<s:property value='activityId'/>&pageNum=" + pageNum; showSection(pageNum); } else { if(step>0) { YCanPDF.Next(); } else { YCanPDF.Prev(); } } } var self = 0; var plugin = true; function selectionRegionComplete(length, info) { var idInfo = JSON.parse(info); var annotation = getNoteRegionsSingle(idInfo.ID); if(annotation=="" || annotation.indexOf("Comments")<0) return; webDwr.addAnnotation(<s:property value="book.id"/>,pageNum,annotation,function(info){ if(info != "") { if(info=="noLogged") { alert("??????"); return; } else { getNote(1); } } }); } function removeRegion(length, noteId){ webDwr.deleteAnnotation(<s:property value="book.id"/>,noteId,function(info){ if(info != "") { if(info=="noLogged") { alert("??????"); return; } } }); document.getElementById('editorContainer').style.display = 'none'; } function changedPage(CurPage, MaxPage) { $("#currpageDiv").val(CurPage); } function loadAnnotation(){ webDwr.getBookAnnotation(<s:property value="book.id"/>,pageNum,function(info){ if(info != "") { if(info=="noLogged") { alert("??????"); return; } var jsonArr = eval("(" + info + ")"); for(var i=0;i<jsonArr["annotations"].length;i++) { YCanPDF.setNoteRegions(jsonArr["annotations"][i].content, 0); } } }); } function getComment(page){ webDwr.getBookComment(<s:property value="book.id"/>,page,self,function(info){ var jsonArr = eval("(" + info + ")"); var comments = ""; for(var i=0;i<jsonArr["comments"].length;i++) { comments += "<li> <img title=\""+jsonArr["comments"][i].user+"\" src=\""+jsonArr["comments"][i].portraint+"\">"; comments += "<div class=\"right\"><div>"+jsonArr["comments"][i].content+"</div>"; comments += "<div class=\"time\"><span>"+jsonArr["comments"][i].user+"</span>"; comments += "<span class=\"fright\">"+jsonArr["comments"][i].pubTime+"</span></div></div></li>"; } document.getElementById("bookCommentList").innerHTML = comments; }); } function getNote(page){ webDwr.getBookAnnotation(<s:property value="book.id"/>,page,1,function(info){ var jsonArr = eval("(" + info + ")"); var comments = ""; for(var i=0;i<jsonArr["annos"].length;i++) { comments += "<li><div class=\"right\"><div class=\"lr_text\"><span class=\"blue\">????????</span>"+jsonArr["annos"][i].selContent; if(jsonArr["annos"][i].note!="") { comments += "<br /><span class=\"blue\">????????</span>"+jsonArr["annos"][i].note; } comments += "</div><div class=\"time\"><span>"+jsonArr["annos"][i].type+"</span>"; comments += "<span>??<a href=\"javascript:skip("+jsonArr["annos"][i].pageNum+");displayDiv('bookNoteDiv');\">"+jsonArr["annos"][i].pageNum+"</a>??</span>" comments +="<span class=\"fright\">?????"+jsonArr["annos"][i].addTime+"</span></div></div></li>"; } document.getElementById("bookNoteList").innerHTML = comments; }); } getComment(1); //getNote(1); var csrfToken = $("#csrfToken").val(); function addComment() { var content = document.getElementById("bookCommentId").value; if(content=="") { alert("????????????"); return; } if(content.length>1000) { alert("????????????1000?????????????????"+content.length+"???"); return; } webDwr.addBookComment(<s:property value="book.id"/>,content,csrfToken,function(info){ if(info != "") { if(info=="noLogged") { alert("??????????????"); return; } getComment(1); document.getElementById("bookCommentId").value = ""; } }); } function initPage() { prepareController(); YCanPDF.HttpSetVualue("JSESSIONID","<%=session.getId()%>",0); YCanPDF.SetRCURL("http://" + host + "${contextPath}/pages/screen/web/readers/js/pdf3/SC_TC_JP_KR.CAB", 0); YCanPDF.SetViewType(2); YCanPDF.BeginBook(); for (var i = 1; i <= totalPageNum; i++) { var pdfPageLink = "http://" + host + "${contextPath}/screen/fetchPDFPage.action?objectId=<s:property value='objectId'/>&activityId=<s:property value='activityId'/>&pageNum=" + i; YCanPDF.AddPage(pdfPageLink); } YCanPDF.EndBook(); YCanPDF.FitWidth(); YCanPDF.SetCommentsPenWidth(1); YCanPDF.SetCommentsLineStyle(0); YCanPDF.PageIndex = pageNum; //loadAnnotation(); } document.onkeydown = doKeyEvent; //?????????IE10?????????????????????onbeforeunload,?????DF????????? //window.onbeforeunload = function() { // if(YCanPDF){YCanPDF.CloseFile();} //} function setContentLoader() { var pdfViewContainerId = "#pdfContentLoader"; var container = document.getElementById("pdfContentLoader"); var agent = navigator.userAgent.toLowerCase(); if(agent.indexOf("edge")>0 || agent.indexOf("mobile")>0 || agent.indexOf("pad")>0 || agent.indexOf("mac")>0) { plugin = false; } else if(agent.indexOf("chrome")>0) { if(agent.indexOf("linux")>0) { plugin = false; } else { var regStr_chrome = /chrome\/[\d.]+/gi; var v = (agent.match(regStr_chrome)+"").replace(/[^0-9.]/ig,""); if(Number(v.substring(0,v.indexOf(".")))>42) { plugin = false; } } } if(plugin) { var h = $(window).height() - 155; $("#YCanPDFIE").height(h); $(".page-container").height(h); //$("#bookNoteDiv").height(h); $("#bookCommentDiv").height(h); $("#bookItemDiv").height(h); $(".textbook").height(h-50); $(".comment_list").height(h-105); $("#bookCommentList").height(h-230); initPage(); } else { var h = pageHeight; $("#YCanPDFIE").height(h); $(".page-container").height(h); //$("#bookNoteDiv").height(h); $("#bookCommentDiv").height(h); $("#bookItemDiv").height(h); $(".textbook").height(h-50); $(".comment_list").height(h-105); $("#bookCommentList").height(h-230); $("body").css("overflow-y","auto"); $("#menuline2").css("display","none"); $("#roomDiv").css("display","none"); $("#selFit").css("display","none"); $("#selMode").css("display","none"); $("#rotateDiv").css("display","none"); $("#pluginInfo").css("display","block"); var link = "${contextPath}/screen/fetchPDFPage.action?objectId=<s:property value='objectId'/>&activityId=<s:property value='activityId'/>&pageNum=" + pageNum; if(agent.indexOf("pad")>0 || agent.indexOf("mobile")>0) { container.innerHTML = "<iframe id='pdfDisplayFrame' src='"+link+"' width='" + pageWidth + "' height='" + pageHeight * pageWidth / 935 + "'></iframe>"; pdfViewContainerId = "#pdfDisplayFrame"; } else { container.innerHTML = "<iframe id='pdfDisplayFrame' src='"+link+"' style='width:95%;height:" + pageHeight*0.88 + "px;'></iframe>"; } } } function keyDown(e) { var ev= window.event||e; if (ev.keyCode == 13) { skip(); } } function showSection(page) { var t = ""; var p = 1; $.each(arr, function() { if(this.p<=page){ t = this.t; p = this.p; } else { $("#sectionDisplay").html(t); $(".textbook a[id$='on']").removeAttr('id'); var selTitle = $(".textbook a[onclick$='displayPage("+p+");']"); selTitle.attr('id','on'); var h = $(window).height(); if(selTitle.offset().top>h || selTitle.offset().top<160) { var scrollTo = selTitle; var container = $(".textbook"); var sh = scrollTo.offset().top - container.offset().top + container.scrollTop() - 100; container.scrollTop(sh); } return false; } }); } $(function(){ $(".textbook").movescroll(); }); $(function(){ // pdf??????????????? $("#controlContainer").resize(function(){ var fit; var screenType = "<s:property value='screenType'/>"; if(screenType == 'vertical') { fit = "width"; } else if("horizontal") { fit = "height"; } if($("#width").hasClass("on")) { fit = "width"; } else if ($("#height").hasClass("on")) { fit = "height"; } if(fit == 'height') { selFit("height"); } else if("width") { selFit("width"); } }); }); function closeFileGoBack() { if(YCanPDF) { YCanPDF.CloseFile(); } //window.location.href="${contextPath}/screen/bookDetail.action?objectId=<s:property value='objectId'/>"; history.go(-1); } //--> </script> <script type="text/javascript" event="OnCompleteDrawNote(StrInfoLen, StrInfo)" for="YCanPDFIE"> //selectionRegionComplete(StrInfoLen, StrInfo); </script> <script type="text/javascript" event="OnNoteDelete(StrInfoLen, StrInfo)" for="YCanPDFIE"> //removeRegion(StrInfoLen, StrInfo); </script> <script type="text/javascript" event="OnVScrollPagePos(StrInfoLen,StrInfo)" for="YCanPDFIE"> scrollPlugin(StrInfo); </script> </body> </html>
Ms-Dos/Windows
Unix
Write backup
jsp File Browser version 1.2 by
www.vonloesch.de