121 lines
4.1 KiB
JavaScript
Executable File
121 lines
4.1 KiB
JavaScript
Executable File
(function(){
|
||
var ua = navigator.userAgent;
|
||
$.browserIS = {
|
||
ie: !!(window.ActiveXObject || "ActiveXObject" in window), //ie;ie6~11
|
||
ie8: this.ie && parseInt($.browser.version) <= 8,//ie8
|
||
wap:ua.match(/(iPhone|iPod|Android|ios|MiuiBrowser)/i),
|
||
|
||
trident: ua.indexOf('Trident') > -1, //IE内核
|
||
presto: ua.indexOf('Presto') > -1, //opera内核
|
||
webKit: ua.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
|
||
gecko: ua.indexOf('Gecko') > -1 && ua.indexOf('KHTML') == -1,//火狐内核
|
||
mobile: !!ua.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
|
||
ios: !!ua.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
|
||
android: ua.indexOf('Android') > -1 || ua.indexOf('Adr') > -1, //android终端
|
||
iPhone: ua.indexOf('iPhone') > -1, //是否为iPhone
|
||
iPad: ua.indexOf('iPad') > -1, //是否iPad
|
||
webApp: ua.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部
|
||
weixin: ua.indexOf('MicroMessenger') > -1, //是否微信
|
||
qq: ua.match(/\sQQ/i) == " qq" //是否QQ
|
||
};
|
||
$.isIE = $.browserIS.ie;
|
||
$.isIE8 = $.browserIS.ie8;
|
||
$.isWap = $.browserIS.wap;
|
||
$.isWindowSmall = function(){
|
||
return $(window).width() < 769;//769
|
||
};
|
||
var isTouch = (('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch);
|
||
$.isWindowTouch = function(){
|
||
var res = isTouch || $.browserIS.iPad || $.browserIS.android || $.browserIS.mobile;
|
||
return !!res;
|
||
};
|
||
})();
|
||
|
||
// / Pinch Zoom
|
||
function enablePinchZoom(){
|
||
var startX = 0;
|
||
var startY = 0;
|
||
var pinchOffset = 0;
|
||
var pinchScale = 1;
|
||
var $content = $('#root');
|
||
var $viewer = $('#MainPanelContent');
|
||
var reset = function(){
|
||
startX = startY = pinchOffset = 0;
|
||
pinchScale = 1;
|
||
};
|
||
$content.bind('touchstart',function(e){
|
||
e = e.originalEvent;
|
||
if (e.touches.length > 1) {
|
||
startX = (e.touches[0].pageX + e.touches[1].pageX) / 2;
|
||
startY = (e.touches[0].pageY + e.touches[1].pageY) / 2;
|
||
pinchOffset = Math.hypot((e.touches[1].pageX - e.touches[0].pageX), (e.touches[1].pageY - e.touches[0].pageY));
|
||
} else {
|
||
pinchOffset = 0;
|
||
}
|
||
}).bind('touchmove',function(e){
|
||
e = e.originalEvent;
|
||
if(e.touches.length < 2) return;
|
||
if (pinchOffset <= 0 || e.touches.length < 2) return;
|
||
var pinchDistance = Math.hypot((e.touches[1].pageX - e.touches[0].pageX), (e.touches[1].pageY - e.touches[0].pageY));
|
||
var originX = startX + $viewer[0].scrollLeft;
|
||
var originY = startY + $viewer[0].scrollTop;
|
||
pinchScale = pinchDistance / pinchOffset;
|
||
$viewer.css({
|
||
transform:"scale("+pinchScale+")",
|
||
transformOrigin:originX+"px "+originY+"px"
|
||
});
|
||
}).bind('touchend',function(e){
|
||
if(pinchOffset <= 0) return;
|
||
|
||
$viewer.css({transform:"none",transformOrigin:"unset"});
|
||
var toScale = OfdCore.painter.zoom * pinchScale;
|
||
toScale = toScale < 0.3 ? 0.3:toScale;
|
||
toScale = toScale > 5 ? 5:toScale;
|
||
OfdCore.setZoom(toScale);
|
||
reset();
|
||
});
|
||
}
|
||
|
||
$(document).ready(function (){
|
||
touch.config.pinch = false;
|
||
enablePinchZoom();
|
||
$("#printButton").next().remove();
|
||
$('.anticon-folder-open').parent().addClass('toolbar-file-open');
|
||
$('.anticon-folder-open').parent().find('span').remove();
|
||
$("#more").remove();
|
||
|
||
var $goFirst = $("#PageNumberInput").prev().prev();
|
||
var $goEnd = $("#PageNumberInput").next().next().next();
|
||
var $turnLeft = $goEnd.next().next();
|
||
var $turnRight = $turnLeft.next();
|
||
var $turnFull = $turnRight.next();
|
||
$turnLeft.addClass('view-turn-left');
|
||
$turnRight.addClass('view-turn-right');
|
||
$turnFull.addClass('view-turn-full');
|
||
|
||
$goFirst.remove();
|
||
$goEnd.remove();
|
||
|
||
setTimeout(function(){
|
||
if(ofdReaderParams.canDownload == '1') return;
|
||
window.print = function(){};
|
||
OfdCore.print = function(){};
|
||
$('#printButton,.toolbar-file-open').remove();
|
||
},10);
|
||
|
||
// 自适应界面; bug: 缩放后文字选中异常;
|
||
window.addEventListener("OfdFileOpened",function(){
|
||
if($.isWindowTouch()){
|
||
$('#root').addClass('app-window-touch');
|
||
}
|
||
if($.isWindowSmall()){
|
||
$('#root').addClass('app-window-small');
|
||
}
|
||
|
||
// if($.isWindowTouch() && $.isWindowSmall() ){
|
||
// OfdCore.setZoom(-1); //自适应宽度; 浏览器会异常;
|
||
// }else{
|
||
// // OfdCore.setZoom(1.5);
|
||
// }
|
||
});
|
||
}); |