/* * To change this template, choose Tools | Templates * and open the template in the editor. */ //document.write('<script type="text/javascript" src="' + '' + '/_test/flexpaper2/flexpaper.css"></script>'); //document.write('<script type="text/javascript" src="' + '' + '/_test/flexpaper2/jquery.extensions.min.js"></script>'); //document.write('<script type="text/javascript" src="' + '' + '/_test/flexpaper2/flexpaper_handlers.js"></script>'); var context = ""; var localeChain = "zh_CN"; var context = null; var pdfDocs = null; //var pdfDoc = null; var pageNums = null; //var pageNum = 1; var cuur_scale = 1; var url = ''; $("script[sudy-wp-context]").each(function (i) { context = $(this).attr("sudy-wp-context"); if (context) { context = "/" + context; }else{ context=""; } }); var fls = flashChecker(); if (/Android|Windows Phone|webOS|iPhone|iPod|iPad|BlackBerry/i.test(navigator.userAgent)) { fls.f = 0; // localeChain = "en_US"; } if (fls.f === 0) { document.write('<script type="text/javascript" src="' + '' + '/_js/_portletPlugs/swfPlayer/flexpaper2/flexpaper.js"></script>'); } $().ready(function () { // document.write("您安装了flash,当前flash版本为: " + fls.v + ".x"); $("a[sudy-wp-player]").each(function (i) { var _href = $(this).attr("href"); var _sudyvideoplayersrc = $(this).attr("sudy-wp-player"); _href = _href.substring(0, _href.lastIndexOf("/") + 1) + _sudyvideoplayersrc; if (swfPlayer(_href) !== null) { var prev = $($(this)).prev("img[src*=icon"); $($(this)).replaceWith("<div id=\"" + Math.random() + "\" swsrc=\"" + _href + "\" pdfsrc=\"" + $(this).attr("href") + "\" class=\"wp_pdf_player\" sudyplayer=\"wp_pdf_player\"></div>"); if (prev) { prev.remove(); } } else if (!jsPlayer(_href)) { $(this).attr("href", _href); } }); $(".wp_pdf_player,div[sudyplayer='wp_pdf_player'],img[sudyplayer='wp_pdf_player']").each(function (i) { if (!$(this).attr("class")) { $(this).css("width", "100%"); $(this).css("height", "700px"); } if (!$(this).attr("class")) { $(this).attr("class", $(this).attr("sudyplayer")); } var id = $(this).attr("id"); var swfsrc = $(this).attr("swsrc"); var pdfsrc = $(this).attr("pdfsrc"); var flexpaper = (context?context:"") + "/_js/_portletPlugs/swfPlayer/flexpaper/FlexPaper_flash/FlexPaperViewer"; var uuid = Math.random().toString(); /** * 如果本地安装了flash则用原来的方式播放,如果没有安装flash则使用新的方式播放 */ $(this).html('<canvas id="sudy-pdf-canvas'+id+'"></canvas>'); if (!document.getElementById("sudy-pdf-canvas"+id) || !document.getElementById("sudy-pdf-canvas"+id).getContext) { $(this).html(""); if (true) { new FlexPaperViewer(flexpaper, id, {config: { SwfFile: escape(swfsrc + "?src=" + pdfsrc + "&t=" + uuid), Scale: 1.0, ZoomTransition: "easeOut", ZoomTime: 0.5, ZoomInterval: 0.2, FitPageOnLoad: false, FitWidthOnLoad: false, FullScreenAsMaxWindow: false, ProgressiveLoading: false, MinZoomSize: 0.2, MaxZoomSize: 5, SearchMatchAll: false, InitViewMode: "Portrait", PrintPaperAsBitmap: false, ViewModeToolsVisible: true, ZoomToolsVisible: true, NavToolsVisible: true, CursorToolsVisible: false, SearchToolsVisible: false, localeChain: localeChain }}); } return; } if(true){ var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器 if(isIE){ $(this).replaceWith('<iframe class="wp_pdf_player" src="/_js/_portletPlugs/swfPlayer/pdfjs/viewer.html?file='+pdfsrc+'"/>'); return; } $(this).replaceWith('<iframe class="wp_pdf_player" src="/_js/_portletPlugs/swfPlayer/pdfjs22228/web/viewer.html?file='+pdfsrc+'"/>'); return; } if(pdfDocs == null){ pdfDocs = new Map(); pageNums = new Map(); } $(this).html('<div data-data="" class="pictureswitch" data-pictureswitch="">' + '<div class="section">' + '<div class="p-head border-1px">' + '<div class=" barset">' + '<a id="zoomOut'+id+'"><img style="margin-top:0px;" src="' + (context?context:"") + '/_js/_portletPlugs/swfPlayer/img/amplify.png" title="放大" /></a>' + '<a id="zoomIn'+id+'"><img style="margin-top:0px;" src="' + (context?context:"") + '/_js/_portletPlugs/swfPlayer/img/reduce.png" title="缩小" /></a>' + '<a class="p-prev iconfont icon-Left" onclick="onPrevPage(\''+id+'\')"></a>' + '<span class="p-active p-active'+id+'">1</span>' + '<span>/</span>' + '<span class="p-pages p-pages'+id+'">2</span>' + '<a class="p-next iconfont icon-right" onclick="onNextPage(\''+id+'\')"></a>' + '<select class="p-go p-go'+id+'"><option value="1">第1页</option><option value="2">第2页</option></select>' + '</div>' + ' </div>' + '<div class="p-cont">' + '<div id="wrap'+id+'" class="p-wrap">' + '<canvas id="sudy-pdf-canvas'+id+'"></canvas>' + '</div>' + '</div>' + '</div>' + '</div>'); url = $(this).attr("pdfsrc"); PDFJS.getDocument(url).then(function (pdfDoc_) { pdfDocs.set(id,pdfDoc_); var pdfDoc = pdfDoc_; var pageNum = pageNums.get(id); if(!pageNum){ pageNum=1; } queueRenderPage(pageNum, -1,id); var selectTemplate = ''; for (var i = 0; i < pdfDoc.numPages; i++) { selectTemplate += '<option value="' + (i + 1) + '">第' + (i + 1) + '页</option>' } $(".p-go"+id).html(selectTemplate); $(".p-pages"+id).html(pdfDoc.numPages); }); $(".p-go"+id).on('change', function () { var pageNum = parseInt($(".p-go"+id).val()); var pdfDoc = pdfDocs.get(id); if (pageNum) { if (pageNum < 0) { pageNum = 1; } else if (pageNum > pdfDoc.numPages) { pageNum = pdfDoc.numPages; } pageNums.set(id,pageNum); queueRenderPage(pageNum, -1,id); } }); var zoomIn = document.getElementById('zoomIn'+id); var zoomOut = document.getElementById('zoomOut'+id); zoomIn.addEventListener('click', function () { var pageNum = pageNums.get(id); if(!pageNum){ pageNum=1; } var _cuur_scale = cuur_scale - 0.1; if (_cuur_scale <= 0) { _cuur_scale = cuur_scale; } queueRenderPage(pageNum, cuur_scale - 0.1,id); }); zoomOut.addEventListener('click', function () { var pageNum = pageNums.get(id); if(!pageNum){ pageNum=1; } queueRenderPage(pageNum, cuur_scale + 0.1,id); }); }); // $(".wp_pdf_player,div[sudyplayer='wp_pdf_player'],img[sudyplayer='wp_pdf_player']").each(function(i) { // if (!$(this).attr("class")) { // $(this).css("width", "100%"); // $(this).css("height", "700px"); // } // if(!$(this).attr("class")){ // $(this).attr("class",$(this).attr("sudyplayer")); // } // var id = $(this).attr("id"); // var swfsrc = $(this).attr("swsrc"); // var pdfsrc = $(this).attr("pdfsrc"); // var flexpaper = context + "/_js/_portletPlugs/swfPlayer/flexpaper/FlexPaper_flash/FlexPaperViewer"; // var uuid = Math.random().toString(); // var sudy_wp_player = $(this).attr("sudy-wp-player"); // if ($(this)[0].tagName == "IMG") { // $($(this)).replaceWith("<div id=\"" + id + "\" swsrc=\"" + swfsrc + "\" pdfsrc=\"" + pdfsrc + "\" class=\"wp_pdf_player\" sudyplayer=\"wp_pdf_player\"></div>"); // } // /** // * 如果本地安装了flash则用原来的方式播放,如果没有安装flash则使用新的方式播放 // */ // if (fls.f) { // new FlexPaperViewer(flexpaper, id, {config: { // SwfFile: escape(swfsrc + "?src=" + pdfsrc + "&t=" + uuid), // Scale: 1.0, // ZoomTransition: "easeOut", // ZoomTime: 0.5, // ZoomInterval: 0.2, // FitPageOnLoad: false, // FitWidthOnLoad: true, // FullScreenAsMaxWindow: false, // ProgressiveLoading: false, // MinZoomSize: 0.2, // MaxZoomSize: 5, // SearchMatchAll: false, // InitViewMode: "Portrait", // PrintPaperAsBitmap: false, // ViewModeToolsVisible: true, // ZoomToolsVisible: true, // NavToolsVisible: true, // CursorToolsVisible: false, // SearchToolsVisible: false, // localeChain: localeChain // }}); // } else { // var pdfUrl = pdfsrc.substring(0, pdfsrc.lastIndexOf("/")); // var pdfName = pdfsrc.substring(0, pdfsrc.lastIndexOf(".")); // var sudyImgLen = 0; // $.ajax({ // url: "http://" + location.host + pdfName + ".json", // type: 'get', // data: '', // dataType: 'json', // async:false, // success: function(data) { // try{ // sudyImgLen = data[0].pdfImgLen; // }catch(e){ // sudyImgLen = 0; // } // }, // error: function(res) { // sudyImgLen = 0; // } // // }); // if (sudyImgLen > 0) { // var _data = "["; // for (var i = 0; i < sudyImgLen; i++) { // _data += "{\"src\": \"" + pdfName + "_" + (i + 1) + ".png" + "\",\"width\":\"100\",\"height\": \"100\"}"; // if (i < (sudyImgLen - 1)) { // _data += ","; // } // } // _data += "]"; // $(this).html("<div data-data='{\"img\":" + _data + "}' class=\"pictureswitch\" data-PictureSwitch data-src='{\"url\":\"data.json\"}'></div>"); // pictureViewer(context); // } else { //// var flexPaperViewer = new FlexPaperViewer("FlexPaperViewer", id, {config: { //// IMGFiles: pdfName + '_{page}.png', //// JSONFile: pdfUrl + "/" + $(this).attr("sudy-wp-player"), //// PDFFile: pdfsrc, //// Scale: 1.0, //// ZoomTransition: "easeOut", //// ZoomTime: 0.5, //// ZoomInterval: 0.2, //// FitPageOnLoad: false, //// FitWidthOnLoad: true, //// FullScreenAsMaxWindow: false, //// ProgressiveLoading: false, //// MinZoomSize: 0.2, //// MaxZoomSize: 5, //// SearchMatchAll: false, //// InitViewMode: "Portrait", //// RenderingOrder: 'html,flash', //// PrintPaperAsBitmap: false, //// ViewModeToolsVisible: true, //// ZoomToolsVisible: true, //// NavToolsVisible: true, //// CursorToolsVisible: false, //// SearchToolsVisible: false, //// jsDirectory: context + '/_js/_portletPlugs/swfPlayer/flexpaper2/js-adaptive/', //// localeDirectory: context + '/_js/_portletPlugs/swfPlayer/flexpaper2/locale/', //// localeChain: localeChain //// }}); // } // } // }); }); function onPrevPage(id) { var pdfDoc = pdfDocs.get(id); var pageNum = pageNums.get(id); if(!pageNum){ pageNum=1; } pageNum--; if (pageNum <= 1) { pageNum=1; } pageNums.set(id,pageNum); queueRenderPage(pageNum, -1,id); } /** * Displays next page. */ function onNextPage(id) { var pdfDoc = pdfDocs.get(id); var pageNum = pageNums.get(id); if(!pageNum){ pageNum=1; } if (pageNum >= pdfDoc.numPages) { return; } pageNum++; pageNums.set(id,pageNum); queueRenderPage(pageNum, -1,id); } function queueRenderPage(num, _scale,id) { var pdfDoc = pdfDocs.get(id); var num = pageNums.get(id); if(!num){ num=1; } pdfDoc.getPage(num).then(function getPage(page) { var viewport = null; var scale = 1; if (_scale > 0) { scale = _scale; viewport = page.getViewport(scale); } else { viewport = page.getViewport(scale); var wrapw = parseInt($("#wrap"+id).css("width")); if (wrapw < viewport.width) { scale = wrapw / viewport.width; viewport = page.getViewport(scale) } } var canvas = document.getElementById('sudy-pdf-canvas'+id); context = canvas.getContext('2d'); canvas.height = viewport.height; canvas.width = viewport.width; var renderContext = { canvasContext: context, viewport: viewport }; cuur_scale = scale; page.render(renderContext); if (canvas.width > parseInt($(".wp_pdf_player").css("width"))) { if (_scale > 0) { //$(".wp_pdf_player").css("width", (canvas.width + 5) + "px"); } } else { //$(".wp_pdf_player").css("width", (parseInt($(window).width()) - 16) + "px"); } }); $(".p-active"+id).html(num); } function swfPlayer(url) { var r, re; re = /.(swf)$/i; r = url.match(re); return r; } function jsPlayer(url) { var r, re; re = /.(js)$/i; r = url.match(re); return r; } function flashChecker() { var hasFlash = 0; //是否安装了flash var flashVersion = 0; //flash版本 try{ if (document.all) { var swf = new ActiveXObject('ShockwaveFlash.ShockwaveFlash'); if (swf) { hasFlash = 1; VSwf = swf.GetVariable("$version"); flashVersion = parseInt(VSwf.split(" ")[1].split(",")[0]); } } else { if (navigator.plugins && navigator.plugins.length > 0) { var swf = navigator.plugins["Shockwave Flash"]; if (swf) { hasFlash = 1; var words = swf.description.split(" "); for (var i = 0; i < words.length; ++i) { if (isNaN(parseInt(words[i]))) continue; flashVersion = parseInt(words[i]); } } } } }catch(e){} return { f: hasFlash, v: flashVersion }; }