/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
var context = "";
var localeChain = "zh_CN";
var pdfDocs = null;
var pageNums = null;
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('');
}
$().ready(function () {
$("script[sudy-wp-context]").each(function (i) {
context = $(this).attr("sudy-wp-context");
if (context) {
context = "/" + context;
}else{
context="";
}
});
// 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("
");
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('');
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('');
return;
}
$(this).replaceWith('');
return;
}
if(pdfDocs == null){
pdfDocs = new Map();
pageNums = new Map();
}
$(this).html('' +
'
' +
'
' +
'
' +
'

' +
'

' +
'
' +
'
1' +
'
/' +
'
2' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
');
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 += ''
}
$(".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);
});
});
});
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
};
}