您的位置:首页 > 其它

flexpaper滚动的时候禁止浏览器滚动

2015-07-01 00:43 169 查看
最近做一个项目,需要使用flexpaper来做pdf在线浏览,但是每当鼠标滚轮在flash部位滚动的时候,整个页面也开始滚动起来,特别是chrome浏览器更是坑爹,花了好半天才找出勉强解决的方法,分享一下代码,如有更好的解决方案,求求给我建议。

var isFF = window.navigator.userAgent.toLowerCase().indexOf('firefox');
var isChrome = window.navigator.userAgent.indexOf("Chrome");
var mousewheel=function(event)
{
var event = event ? event : window.event;
var obj = event.srcElement || event.target;
      
if(obj.type == "application/x-shockwave-flash" || obj.type == ""){
if($FlexPaper().getCurrPage()<$FlexPaper().getTotalPages()+1){
if(document.all){
event.cancelBubble = true;
event.returnValue = false;
event.preventDefault();
event.stopPropagation();
}else if(isChrome>0){
document.body.style.overflow="hidden";
event.stopPropagation();
}else{
event.preventDefault();
event.stopPropagation();
}
}

}
}

function onloaded(){
document.getElementsByTagName('object')[0].focus();
document.getElementsByTagName('object')[0].onmouseover = function(){
this.focus();
}     
if(isFF > 0){
document.body.addEventListener("DOMMouseScroll", mousewheel, false);
}else if(isChrome >0){
document.body.style.overflow="hidden";
document.getElementsByTagName('object')[0].onmousewheel=mousewheel;
document.body.onmousewheel = function(){
document.body.style.overflow='auto';
}
document.body.onclick = function(){
document.body.style.overflow='auto';
}
}else{
document.body.onmousewheel=mousewheel;
}

}

window.onload = function(){
onloaded();
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: