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

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

 1 var isFF = window.navigator.userAgent.toLowerCase().indexOf('firefox');
 2             var isChrome = window.navigator.userAgent.indexOf("Chrome");
 3             var mousewheel=function(event)
 4             {
 5                 var event = event ? event : window.event;
 6                 var obj = event.srcElement || event.target;
 7                        
 8                 if(obj.type == "application/x-shockwave-flash" || obj.type == ""){
 9                      if($FlexPaper().getCurrPage()<$FlexPaper().getTotalPages()+1){
10                          if(document.all){
11                             event.cancelBubble = true;
12                             event.returnValue = false;
13                             event.preventDefault();
14                             event.stopPropagation();
15                         }else if(isChrome>0){
16                             document.body.style.overflow="hidden";
17                             event.stopPropagation();
18                         }else{
19                             event.preventDefault();
20                             event.stopPropagation();
21                         }
22                      }
23                     
24                 }
25             }
26 
27             function onloaded(){
28                 document.getElementsByTagName('object')[0].focus();
29                 document.getElementsByTagName('object')[0].onmouseover = function(){
30                     this.focus();
31                 }     
32                 if(isFF > 0){
33                     document.body.addEventListener("DOMMouseScroll", mousewheel, false);
34                 }else if(isChrome >0){
35                     document.body.style.overflow="hidden";
36                     document.getElementsByTagName('object')[0].onmousewheel=mousewheel;
37                     document.body.onmousewheel = function(){
38                         document.body.style.overflow='auto';
39                     }
40                     document.body.onclick = function(){
41                         document.body.style.overflow='auto';
42                     }
43                 }else{
44                     document.body.onmousewheel=mousewheel;
45                 }
46 
47 
48             }
49 
50             window.onload = function(){
51                     onloaded();
52             }

 

   

 

posted @ 2015-07-01 00:43  农的传人  阅读(622)  评论(3)    收藏  举报