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;        
11                 if(obj.type == "application/x-shockwave-flash" || obj.type == ""){
12                     if(document.all){
13                         event.cancelBubble = true;
14                         event.returnValue = false;
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             function onloaded(){           document.getElementsByTagName(‘object‘)[0].setAttribute(‘tabindex‘,‘-1‘); 8                 document.getElementsByTagName(‘object‘)[0].onmouseover = function(){ 9                     this.setAttribute(‘tabindex‘,‘-1‘);10                 }    
26                 if(isFF > 0){
27                     document.body.addEventListener("DOMMouseScroll", mousewheel, false);
28                 }else if(isChrome >0){
29                     document.body.style.overflow="hidden";
30                     document.getElementsByTagName(‘object‘)[0].onmousewheel=mousewheel;
31                     document.body.onmousewheel = function(){
32                         document.body.style.overflow=‘auto‘;
33                     }
34                     document.body.onclick = function(){
35                         document.body.style.overflow=‘auto‘;
36                     }
37                 }else{
38                     document.body.onmousewheel=mousewheel;
39                 }
40             }
41
42             window.onload = function(){
43                     onloaded();
44             }
时间: 2024-12-14 19:40:01

flexpaper滚动的时候禁止浏览器滚动的相关文章

禁止浏览器上下拖拽方法

在触屏写的一些弹层总会引发不同浏览器里面的bug. 比如下图左侧窗口出现的时候,用户在拖拽右侧的body区域就会在某些浏览器里引发一些bug. 索性干掉这个方法,在弹层显示时不让用户拖拽页面. 引用的方法 //body一屏显示禁止上下拖拽 setPreventDefault.start(); //取消事件 setPreventDefault.end(); 1 /*禁止浏览器滚动*/ 2 var setPreventDefault = { 3 oldScrollTop : 0,/*记录滚动条位置*

禁止浏览器滚动条滚动,但滚动条可以显示

最近写一个类似土豆播放器选集数的滚动条,需要的效果是当鼠标位于选择集数的div中时只能滚动该div的滚动条,但是浏览器滚动条禁止滚动~ 网站找了很多方法都是直接隐藏滚动条,最终找到下面方法 代码: var keys = [37, 38, 39, 40]; function preventDefault(e) { e = e || window.event; if (e.preventDefault) e.preventDefault(); e.returnValue = false; } fun

vue 弹窗禁止底层滚动

原因:底层视图高度超出百分百,加入弹窗后再苹果浏览器隐藏上下栏的情况下遮罩层没有完全遮住底层. 处理:打开弹窗后禁止底层滚动调用stop事件,关闭则开启底层滚动调用move事件. let mo=function(e){e.preventDefault();}; stop(){ document.body.style.overflow='hidden'; document.body.style.position='fixed'; document.body.style.width='100%';

(转)JS浮动窗口(随浏览器滚动而滚动)

原文:http://hi.baidu.com/aiyayaztt/item/4201c55a6b729dced2e10c79 JS浮动窗口(随浏览器滚动而滚动) 往往用于一些联系方式,互动平台模块,随着浏览器的滚动而滚动. <div id="AdLayer"> <p>窗口中的内容</p> </div> 放在<body>下面(页面最上面) JS代码 window.onload=function(){ var n=0;//top值

禁止uiscrollview垂直方向滚动,只允许水平方向滚动;或只允许垂直方向滚动

禁止UIScrollView垂直方向滚动,只允许水平方向滚动 scrollview.contentSize =  CGSizeMake(你要的长度, 0); 禁止UIScrollView水平方向滚动,只允许垂直方向滚动 scrollview.contentSize =  CGSizeMake(0, 你要的宽度); 在UIScrollView的SubView里面弹出一个pickerView的时候,想禁止UIScrollView滚动,如何实现? scrollView.scrollEnabled =

移动端禁止屏幕滚动

//禁止屏幕滚动 $("body").attr({ "ontouchmove": "event.preventDefault()" }); //解除禁止 $("body").removeAttr("ontouchmove");

原生js禁止页面滚动

// 开启.禁止页面滚动 bodyScroll: { e(e) { e.preventDefault();// 注意此处代码片段必须这样提出来已保证传入下边两个事件的处理程序一样才生效,分别写到事件处理程序中不生效. }, // 开启滚动 open() { document.body.removeEventListener('touchmove', this.e, false); }, // 禁止滚动 close() { document.body.addEventListener('touch

微信小程序实现(禁止页面滚动、长按复制)

1. 禁止页面滚动对于小程序某些一屏的页面,特别是全屏的swiper,并不希望页面在竖直方向上可以滚动. 实现方式:在需要禁止滚动页面的json中加入: "disableScroll": true 1 注意:只在页面配置中有效,无法再app.json中设置该项 参考:https://developers.weixin.qq.com/miniprogram/dev/framework/config.html#页面配置 2. 长按复制 <text class='copy_conten

禁止浏览器自动填写

参考:司徒正美 http://www.cnblogs.com/rubylouvre/p/5109300.html 禁止浏览器自动补全,使用 autocomplete="off" 浏览器记住密码的效果 方法:打破用户名密码的结对关系,<span style="color:red; font-size:24px;">特别注意</span>复制input控件仅增加不可见的样式,eg:style="display:none;" 存