Edit D:\chineseall_products\bak\digitalLib6\pages\kindergarten\book\readBook_yukan.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" /> - <s:action name="viewSchoolName" executeResult="true"> <s:param name="sid" value="sid"></s:param> </s:action> </title> <style type="text/css"> a.noteBtn { cursor: pointer; display: block; margin-bottom: 12px; width: 32px; height: 19px; background-color: gray; color: white; text-align: center; text-decoration: none; } a.noteBtn:HOVER { background-color: rgb(34, 136, 236); color: white; text-decoration: none; } a.now { background-color: rgb(34, 136, 236); } .closeBtn { cursor: pointer; font-size: 14px; float: right; margin-right: 10px; color: rgb(34, 136, 236); } </style> <link href="/pages/${templatePath}/css/style.css" type="text/css" rel="stylesheet" /> <script type="text/javascript" src="/js/judgeInput.js"></script> <script type="text/javascript" src="/js/pdf/pdfreader.js"></script> <script type="text/javascript" src="/js/jquery-1.12.4.min.js"></script> </head> <body onload="setContentLoader()"> <jsp:include page="/pages/${templatePath}/top.jsp" /> <!--mainContent--> <div class="wrap mt10"> <jsp:include page="/pages/${templatePath}/navMenu.jsp" /> <div class="mt10 cf bd" style="position: relative;"> <div id="divLeftTag" class="btnList" style="position: fixed; top: 350px;"> <a id="aBootItemId" class="bcBtn" onclick="displayDiv('bookItemDiv');" style="cursor: pointer;" title="??????"></a> <a id="aBootNoteId" class="noteBtn" onclick="displayDiv('bookNoteDiv');" style="cursor: pointer;" title="??????">???</a> <a id="aBootCommentId" class="noteBtn" onclick="displayDiv('bookCommentDiv');" style="cursor: pointer;" title="??????">???</a> <a href="/bookDetail.action?objectId=<s:property value='objectId'/>&activityId=<s:property value='activityId'/>" class="bookGoBack" title="?????????"></a> </div> <div id="divRightTag" class="prev-next" style="position: fixed; top: 350px;"> <a style="cursor: pointer;" onclick="nextPage(-1);" class="prevBtn" title="?????"></a> <a style="cursor: pointer;" onclick="nextPage(1);" class="nextBtn" title="?????"></a> </div> <div class="mainReadBook" id="contentDiplayDiv"> <h2 class="title"> <s:property value="book.name" /> <span>?????<s:property value="book.author" /></span> </h2> <div class="bgGray30" style="margin-bottom: 0px; padding-bottom: 0px;"> <div class="goPage fr" style="width: 170px;"> <p id="currpageDiv" style="width: 80px; text-align: right; padding-right: 5px;"> <s:property value="pageNum" /> / <s:property value="totalPageNum" /> </p> <input id="skipPage" type="text" class="textInPage" style="width: 40px;" /><a style="cursor: pointer;" onclick="skip();" class="goPageBtn">GO</a> </div> <div class="fl f14" id="infoTipsDiv"> <a style="cursor: pointer;" onClick="window.open('/js/pdf/caPDFPluginInst.exe');" class="fcBlue">?????????</a> <font color="blue">(?????????IE6+;Firefox38+;Chrome42-;Safari5+)</font> </div> </div> <div class="fengmian tc" id="controlContainer" style="z-index:0;height:<s:property value="pageHeight"/>px;width:100%;padding:0;overflow:hidden;margin-top:0px;"> <s:if test="isWaiting"> ????????????????????????????? </s:if> <s:elseif test="!canReadBook"> ???????????????????????????????????????? </s:elseif> <s:else> <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="960" height="<s:property value='pageHeight'/>"></embed> </object> </div> </s:else> <br /> <br /> </div> </div> <div class="mainReadBook" style="display: none;" id="bookItemDiv"> <h2 class="bookComentTitle mt20"> <s:property value="book.name" /> --??? <span class="closeBtn" onclick="displayDiv('bookItemDiv');">???</span> </h2> <ul class="muluList"> <s:iterator value="itemList" status="obj"> <li style="cursor: pointer" onclick="displayPage(<s:property value='page'/>);"><em><s:property value="page" /></em> <s:property value="space" escape="false" /> <s:property value="space" escape="false" /> <s:property value="title" /></li> </s:iterator> </ul> </div> <div class="mainReadBook" id="bookNoteDiv" style="display: none;"> <h2 class="bookComentTitle mt20"> <s:property value="book.name" /> --??? <span class="closeBtn" onclick="displayDiv('bookNoteDiv');">???</span> </h2> <div class="mt20"> <div class="bgGray30 f14">??????</div> <ul class="commentArea" id="bookNoteList"> </ul> <div class="m-page j-pager" id="pageNoteListDiv"></div> </div> </div> <div class="mainReadBook" id="bookCommentDiv" style="display: none;"> <h2 class="bookComentTitle mt20"> <s:property value="book.name" /> --??? <span class="closeBtn" onclick="displayDiv('bookCommentDiv');">???</span> </h2> <div class="cf mt20"> <textarea id="bookCommentId" cols="" rows="" class="textArea1" placeholder="????????????????????1000????"></textarea> <input type="button" value="???" onclick="addComment();" class="fr tjBlueBtn mt10" /> </div> <div class="mt20"> <div class="bgGray30 f14">??????</div> <ul class="commentArea" id="bookCommentList"> </ul> <div class="m-page j-pager" id="pageListDiv"></div> </div> </div> </div> <iframe id="editorContainer" src="/pages/${templatePath}/book/editorContainer.html" style="display: none; position: fixed; z-index: 100; top: 100px; left: 100px; background-color: #C0C0C0;"></iframe> <s:action name="foot" executeResult="true"> <s:param name="sid" value="sid"></s:param> </s:action> <script type="text/javascript"> <!-- var pageNum = Number("<s:property value="pageNum"/>"); var totalPageNum = Number("<s:property value="totalPageNum"/>"); function displayDiv(divId){ var commentDiv = document.getElementById("bookCommentDiv"); var itemDiv = document.getElementById("bookItemDiv"); var noteDiv = document.getElementById("bookNoteDiv"); var bookContentDiv = document.getElementById("contentDiplayDiv"); var obj = document.getElementById(divId); if(obj.style.display && obj.style.display=="block") { divId = "contentDiplayDiv"; } if(divId=="bookCommentDiv"){ noteDiv.style.display = "none"; bookContentDiv.style.display = "none"; itemDiv.style.display = "none"; commentDiv.style.display = "block"; document.getElementById("aBootItemId").className="bcBtn"; document.getElementById("aBootNoteId").className="noteBtn"; document.getElementById("aBootCommentId").className="noteBtn now"; } else if(divId=="bookItemDiv"){ bookContentDiv.style.display = "none"; itemDiv.style.display = "block"; commentDiv.style.display = "none"; noteDiv.style.display = "none"; document.getElementById("aBootItemId").className="bcBtn bcBtnNow"; document.getElementById("aBootNoteId").className="noteBtn"; document.getElementById("aBootCommentId").className="noteBtn"; } else if(divId=="bookNoteDiv"){ bookContentDiv.style.display = "none"; itemDiv.style.display = "none"; commentDiv.style.display = "none"; noteDiv.style.display = "block"; document.getElementById("aBootItemId").className="bcBtn"; document.getElementById("aBootNoteId").className="noteBtn now"; document.getElementById("aBootCommentId").className="noteBtn"; } else { bookContentDiv.style.display = "block"; itemDiv.style.display = "none"; commentDiv.style.display = "none"; noteDiv.style.display = "none"; document.getElementById("aBootItemId").className="bcBtn"; document.getElementById("aBootNoteId").className="noteBtn"; document.getElementById("aBootCommentId").className="noteBtn"; window.scrollTo(0,300); } } function displayPage(page) { displayDiv("bookItemDiv"); skip(page); } function skip(page) { if(page) { pageNum = page; } else { var obj = document.getElementById("skipPage"); 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").innerHTML = pageNum + " / " + totalPageNum; if(!plugin) { document.getElementById("pdfDisplayFrame").src = "/fetchPdfPage.action?objectId=<s:property value='objectId'/>&activityId=<s:property value='activityId'/>&pageNum=" + pageNum; window.scrollTo(0,300); } 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").innerHTML = pageNum + " / " + totalPageNum; if(!plugin) { document.getElementById("pdfDisplayFrame").src = "/fetchPdfPage.action?objectId=<s:property value='objectId'/>&activityId=<s:property value='activityId'/>&pageNum=" + pageNum; window.scrollTo(0,300); } else { if(step>0) { YCanPDF.Next(); } else { YCanPDF.Prev(); } } } function changedPage(currentNo, totalCount) { pageNum = Number(currentNo); document.getElementById("currpageDiv").innerHTML = currentNo + " / " + totalPageNum; webDwr.addUserReadPage(<s:property value="book.id"/>,pageNum,function(info){ }); } var self = 0; var plugin = true; 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 class=\"comment-item cf\"><div class=\"user-avatar\"><a class=\"pic\">"; comments += "<img alt=\""+jsonArr["comments"][i].user+"\" src=\""+jsonArr["comments"][i].portraint+"\"></a>"; comments += "</div><div class=\"discuss-content\"><div class=\"post-text\"><div class=\"fr\">"; //comments += "<span class=\"support\"></span><span class=\"reply\"></span>"; comments += "</div><a class=\"name\">"+jsonArr["comments"][i].user+"</a>"; comments += " <span class=\"time\">"+jsonArr["comments"][i].pubTime+"</span>"; comments += "<p>"+jsonArr["comments"][i].content+"</p></div></div></li>"; } document.getElementById("bookCommentList").innerHTML = comments; comments = "<div class=\"u-page\">"; if(page>1) { comments += "<a class=\"next\" href=\"javascript:getComment(1);\">???</a>"; comments += "<a class=\"next\" href=\"javascript:getComment("+(page-1)+");\">?????</a>"; } else { comments += "<a class=\"pre noPage\">???</a> <a hidefocus=\"hidefocus\" class=\"pre noPage\">?????</a>"; } comments += "<ul id=\"bookpage-a\">"; var totalPage = jsonArr["totalPages"]; var start = page-2; if(start<=0) start = 1; var end = start + 5; if(end>totalPage) end = totalPage; for(var i=start;i<end+1;i++) { comments += "<li"; if(page==i) comments += " class=\"crt\""; comments += "><a href=\"javascript:getComment("+i+");\" pageno=\""+i+"\">"+i+"</a></li>"; } comments += "</ul>"; if(page<totalPage) { comments += "<a class=\"next\" href=\"javascript:getComment("+(page+1)+");\">?????</a>"; comments += "<a class=\"next\" href=\"javascript:getComment("+totalPage+");\">???</a>"; } else { comments += "<a class=\"pre noPage\">?????</a><a class=\"pre noPage\">???</a>"; } comments += "</div>"; document.getElementById("pageListDiv").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 class=\"comment-item cf\" style=\"padding:10px;\">"; comments += "<div style=\"width:30%;float:left;\">?????"+jsonArr["annos"][i].type+"</div>"; comments += "<div style=\"width:30%;float:left;\">?????<a href=\"javascript:skip("+jsonArr["annos"][i].pageNum+");displayDiv('bookNoteDiv');\">"+jsonArr["annos"][i].pageNum+"</a></div>"; comments += "<div style=\"width:40%;float:left;\">????????"+jsonArr["annos"][i].addTime+"</div>"; comments += "<div style=\"width:100%;float:left;\">??????:"+jsonArr["annos"][i].selContent+"</div>"; if(jsonArr["annos"][i].note!="") { comments += "<div style=\"width:100%;float:left;\">????????"+jsonArr["annos"][i].note+"</div>"; } comments += "</li>"; } document.getElementById("bookNoteList").innerHTML = comments; comments = "<div class=\"u-page\">"; if(page>1) { comments += "<a class=\"next\" href=\"javascript:getNote(1);\">???</a>"; comments += "<a class=\"next\" href=\"javascript:getNote("+(page-1)+");\">?????</a>"; } else { comments += "<a class=\"pre noPage\">???</a> <a hidefocus=\"hidefocus\" class=\"pre noPage\">?????</a>"; } comments += "<ul id=\"bookpage-a\">"; var totalPage = jsonArr["totalPages"]; var start = page-2; if(start<=0) start = 1; var end = start + 5; if(end>totalPage) end = totalPage; for(var i=start;i<end+1;i++) { comments += "<li"; if(page==i) comments += " class=\"crt\""; comments += "><a href=\"javascript:getNote("+i+");\" pageno=\""+i+"\">"+i+"</a></li>"; } comments += "</ul>"; if(page<totalPage) { comments += "<a class=\"next\" href=\"javascript:getNote("+(page+1)+");\">?????</a>"; comments += "<a class=\"next\" href=\"javascript:getNote("+totalPage+");\">???</a>"; } else { comments += "<a class=\"pre noPage\">?????</a><a class=\"pre noPage\">???</a>"; } comments += "</div>"; document.getElementById("pageNoteListDiv").innerHTML = comments; }); } getNote(1); getNote(1); 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,function(info){ if(info != "") { if(info=="noLogged") { alert("??????????????"); return; } getComment(1); document.getElementById("bookCommentId").value = ""; } }); } 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 != "") { YCanPDF.SetSelectMode(0); 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 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 initPage() { <s:if test="!canReadBook || isWaiting"> return; </s:if> prepareController(); YCanPDF.HttpSetVualue("JSESSIONID","<%=session.getId()%>",0); YCanPDF.SetRCURL("http://" + host + "/js/pdf/SC_TC_JP_KR.CAB", 0); YCanPDF.SetViewType(2); YCanPDF.BeginBook(); for (var i = 1; i <= totalPageNum; i++) { var pdfPageLink = "http://" + host + "/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(); window.scrollTo(0,300); } document.onkeydown = doKeyEvent; 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) { initPage(); } else { var link = "/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='<s:property value='pageWidth'/>' height='<s:property value='pageHeight*pageWidth/935'/>'></iframe>"; pdfViewContainerId = "#pdfDisplayFrame"; } else { container.innerHTML = "<iframe id='pdfDisplayFrame' src='"+link+"' width='100%' height='<s:property value='pageHeight'/>'></iframe>"; } window.scrollTo(0,300); } var divLeft = document.getElementById("divLeftTag"); var divRight = document.getElementById("divRightTag"); divRight.style.left= ($(pdfViewContainerId).offset().left + $(pdfViewContainerId).width() + 25) + "px"; divLeft.style.left= ($(pdfViewContainerId).offset().left - 55) + "px"; } //--> </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="OnPageChanged(CurPage, MaxPage)" for="YCanPDFIE"> changedPage(CurPage, MaxPage); </script> <script type="text/javascript" event="OnVScrollPagePos(StrInfoLen,StrInfo)" for="YCanPDFIE"> scrollPlugin(StrInfo); </script> </div> </body> </html>
Ms-Dos/Windows
Unix
Write backup
jsp File Browser version 1.2 by
www.vonloesch.de