精华内容
下载资源
问答
  • 首先需要获取到你弹出层点击事件的时候,你当前页面的位置,即你页面沿x轴滚动距离顶部的高度。然后绝对定位到当前高度,这样就可以保持底层页面不会动,然后添加touchmove的监听事件。禁止滑动。 关闭的时候,...

    1.公共函数代码

    function bodyScroll(event){  
        event.preventDefault();  
    }
    
    var top1 = 0
    function stopBodyScroll(isFixed) {
    	var bodyEl = document.body
    	if (isFixed) {
    		top1 = window.scrollY
    		bodyEl.style.position = 'fixed'
    		bodyEl.style.top = -top1 + 'px'
    	}else{
    		bodyEl.style.position = ''
    		bodyEl.style.top = ''
    		window.scrollTo(0, top1) // 回到原先的top
    	}
    }

    2.弹出时候加入代码

    stopBodyScroll(true);
    document.body.addEventListener('touchmove',bodyScroll,{ passive: false });  
    $('body').css({'position':'fixed',"width":"100%"});

    3.关闭弹出时候加入代码

    stopBodyScroll(false);
    document.body.removeEventListener('touchmove',bodyScroll,{ passive: false });   
    $("body").css({"position":"initial","height":"auto"});

    实现逻辑:

    首先需要获取到你弹出层点击事件的时候,你当前页面的位置,即你页面沿x轴滚动距离顶部的高度。然后绝对定位到当前高度,这样就可以保持底层页面不会动,然后添加touchmove的监听事件。禁止滑动。

    关闭的时候,页面回到原来的定位位置,去掉touchmove监听事件。

    注意:代码顺序

    本人的一些解决办法,希望相互学习。

    展开全文
  • 在前段时间的编程开发中,突然发现一个小坑的地方,其实在Android官方中并没有限制,但是在很多厂商的系统中却做了修改限制,那就是“后台弹出界面权限”最开始发现这个问题,是因为我的悬浮框当应用处于后台时,...

    在前段时间的编程开发中,突然发现一个小坑的地方,其实在Android官方中并没有限制,但是在很多厂商的系统中却做了修改限制,那就是“后台弹出界面权限”

    最开始发现这个问题,是因为我的悬浮框当应用处于后台时,悬浮框所有功能失效,我一开始以为是出了什么bug,后来才发现这是系统的问题,例如小米系统就有这个限制

    为了绕过这个权限,也做过一些处理

    例如:

    通过前台服务的方式启动后台应用

    引导用户打开相应权限

    获取当前堆栈,判断应用是否被打开,如果未被打开则强行将应用提至前台

    经过测试,第一种方法无效。第二种方案是必备的,让用户打开权限自然是最好的,第三种方法则是比较取巧的方法,这里着重讲第三种方案

    先判断我们的界面是否已经被调用到前台

    ActivityManager activityManager= (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);

    List list = activityManager.getRunningTasks(1);

    if (list != null && list.size() > 0) {

    ComponentName cpn = list.get(0).topActivity;

    Log.e("className",""+cpn.getClassName());

    if (className.equals(cpn.getClassName())) {

    return true;

    }

    }

    然后获取在相应的界面获取activityManager

    val activityManager =

    context.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager

    最后利用系统的当前的task堆栈

    val taskInfoList: List =

    activityManager.getRunningTasks(20)

    然后循环找到自己有用的task,将其调至强行切换到前台即可

    展开全文
  • 小米手机有个特殊的权限,"后台弹出界面(允许应用在后台弹出界面)",默认是拒绝的,如下图所示. OK,故事就此展开. 允许后台弹出界面 顾名思义,这个权限意思就是说,我应用在后台了,如果没有开启这个权限...

    前言

     小米手机有个特殊的权限,"后台弹出界面(允许应用在后台弹出界面)",默认是拒绝的,如下图所示.

     

    OK,故事就此展开.

     

    允许后台弹出界面

     

      顾名思义,这个权限意思就是说,我应用在后台了,如果没有开启这个权限,通过Intent启动Activity的方法将不会启动界面成功,并且小米会输出以下日志.

    "com.android.server.am.ExtraActivityManagerService: MIUILOG- Permission Denied Activity".

     真是很坑阿,米哥,要玩死我们开发者阿,就不能遵从点谷歌规范,完善开发生态吗.

    看到有些博客竟然这样说:

     米哥,想挣钱挣疯了? 多听听开发者的声音,遵循谷歌规范,加油,奥力给!!!

     

    解决方案

     

     经测试,华为手机没有这个权限,目前vivo/oppo/小米手机有这个“后台弹出界面”权限.

    1.既然这样,得想办法绕过这个后台启动机制。一般来说,从后台启动Activity的时候,Activity当中会启动一个Dialog来提示用户,ok,那我直接不启动Activity,直接弹出Dialog不就行了,完美绕过这个机制.

    2.经过我不懈的搜索,我发现了一个方法,测试可用,小米官方提供代码如下:

      

       private boolean isAllowed() {
            AppOpsManager ops = (AppOpsManager) getSystemService(Context.APP_OPS_SERVICE);
            try {
                int op = 10021;
                Method method = ops.getClass().getMethod("checkOpNoThrow", new Class[]{int.class, int.class, String.class});
                Integer result = (Integer) method.invoke(ops, op, Process.myUid(), getPackageName());
                return result == AppOpsManager.MODE_ALLOWED;
    
            } catch (Exception e) {
                Log.e(TAG, "not support");
            }
            return false;
        }

     

    总结

     

      目前采用第一个方案,去合理的绕过这个机制,当然实在不行了,第二个方法可以做兼容处理.

      米哥,别再折腾米粉开发者了,以后加油,多遵循谷歌规范,多给开发者带来福利,奥利给!!!

     

     

     

    展开全文
  • 众所周知,从Win10周年更新(1607)开始,微软为Edge加入了“首次运行”页面,如果...下面装机之家分享一下Win10升级之后edge浏览器总是弹出欢迎页面解决方法。方法如下:一、如果你是Windows 10家庭版的用户,没有组...

    众所周知,从Win10周年更新(1607)开始,微软为Edge加入了“首次运行”页面,如果我们安装或者升级Microsoft Edge浏览器之后,首次打开Edge浏览器就会出现欢迎界面,有些用户觉得这个欢迎页面烦人,想要禁用这个欢迎页面,那么我们要如何实现呢?下面装机之家分享一下Win10升级之后edge浏览器总是弹出欢迎页面解决方法。

    方法如下:

    一、如果你是Windows 10家庭版的用户,没有组策略编辑器可用,也完全不必担心,因为我们还有万能的注册表

    1、首先我们使用键盘快捷键“Win+R”来调出运行的窗口,在输入“regedit”,然后回车确定;

    2、在注册表编辑器窗口,在左侧的树状列表中依次展开:\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\,将鼠标光标放在Microsoft项(文件夹)上,单击右键,选择新建-项,并将该项命名为:MicrosoftEdge;

    3、将鼠标光标放在我们刚刚新建的名为MicrosoftEdge的项上,单击右键,选择新建-DWORD(32位)值,并将该DWORD(32位)值命名为:PreventFirstRunPage;

    4、双击我们刚刚新建的名为PreventFirstRunPage的DWORD(32位)值,将其数值数据从0改为1,然后点击确定按钮。

    5、这和Windows 10专业版/教育版/企业版的用户编辑组策略的效果是一样的。今后,当你升级过Windows,再次打开Microsoft Edge,就不会看到恼人的“首次运行”页面了。

    二、若你是Windows 10专业版/教育版/企业版的用户,那么你可以十分方便地进行修改,因为高级版本的Windows 10中带有组策略编辑器。

    1、首先我们使用键盘快捷键“Win+R”来调出运行的窗口,如下图所示,并输入“gpedit.msc”,并回车确定;

    2、输入“gpedit.msc”的命令之后,即可进入本地组策略编辑器窗口,在左侧的树状列表依次展开:计算机配置-管理模板-Windows组件-Microsoft Edge,在右侧的列表中找到以下选项:不允许Microsoft Edge打开“首次运行”网页;

    3、双击进入“不允许Microsoft Edge打开“首次运行”网页”界面,首先将“未配置”改为“已启用”,点击最下面确定。

    4、通过以上的步骤操作,之后当你升级过Windows,再次打开Microsoft Edge浏览器的时候,就不会有“首次运行”页面了。

    如何恢复edge浏览器欢迎页面?

    如果你希望恢复Microsoft Edge的“首次运行”页面的显示,那么你可以将组策略或者注册表改回原状。

    1、如果你是通过修改组策略来阻止Microsoft Edge显示“首次运行”欢迎页面的,那么只需再次打开组策略编辑器,来到以下目录:计算机配置-管理模板-Windows组件-Microsoft Edge,在窗口的右半边找到:不允许Microsoft Edge打开“首次运行”网页,双击它,在接下来弹出的窗口中,将“已启用”改为“未配置”,然后点击确定按钮。

    2、如果你是通过修改注册表来阻止Microsoft Edge显示“首次运行”欢迎页面的,那么只需再次打开注册表编辑器,来到以下目录:\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\MicrosoftEdge\,双击将此项下名为:PreventFirstRunPage的DWORD(32位)值,将其数值数据从1改为0。

    以上就是装机之家分享的Win10禁止Microsoft Edge打开“首次运行”欢迎页面的操作方法,希望能够帮助到大家!

    展开全文
  • 如何在Chrome中允许或阻止弹出窗口

    千次阅读 2020-09-21 07:59:23
    不建议在全球范围内允许弹出式窗口,因为它们可能会令人厌烦且令人讨厌,但是如果出于某种原因您需要允许每个站点都显示弹出式窗口,则可以绕过Chrome弹出式窗口拦截器。 如果需要让特定的网站显示它们,则应将其...
  • 解决方案,很简单,前提是需要先在电脑上安装adobe ...当选择允许和记住后,在下次打开这个页面的时候,仍然提示是否允许,这时候,我们需要修改控制面板中关于flash player的配置 1)打开控制面板,找到“flas...
  • js弹出页面窗口和关闭

    万次阅读 2018-06-12 11:26:43
    js弹出页面窗口和关闭  JS定时自动关闭窗口    <!--  function closewin(){  self.opener=null;  self.close();}  function clock(){i=i-1  document.title="本窗口将在"+i+"秒后自动关闭!";  ...
  • 在开发移动端页面时遇到一个问题,在手机浏览器上底部弹出页input输入时整个弹出页被输入法顶起,导致浏览器 的地址栏遮住了被顶起的顶部部分页面 2、解决 通过调试分析发现,部分手机自带的浏览器显示正常,...
  • JS弹出窗口方法汇总

    千次阅读 2019-05-03 13:25:42
    弹出窗口 【1、最基本的弹出窗口代码】 其实代码非常简单: <SCRIPT LANGUAGE="javascript">    <!--      window.open ('page.html')    //-->...
  • 前端页面中点击一个按钮弹出模态框的实现

    万次阅读 多人点赞 2019-08-21 11:32:11
    效果图: 点击按钮前的网页样子: 点击按钮后的网页样子: HTML代码: <!DOCTYPE html> 模态框 <!-- 触发按钮 --> ... /* 允许滚动 */ ...点击按钮弹出模态框实现
  • 背景:最近在写一个vue项目,当出现弹出层时,发现底部页面跟随滚动,但是产品不想要这种效果,于是找各种资料,发现很多说法,但是试了试,发现有的根本就不行,比如说有人提出用vue中提供的@touchmove.prevent方法...
  • 在HTML网页中设置弹出窗口的办法

    万次阅读 多人点赞 2017-06-30 14:30:29
    【1、最基本的弹出窗口代码】  其实代码非常简单:    window.open ('page.html')  -->    因为这是一段javascripts代码,所以它们应该放在之间。是对一些版本低的浏览器起作用,在这些老浏览器中...
  • 后台弹出界面权限踩坑

    万次阅读 2020-06-09 18:06:23
    后台弹出界面权限踩坑    最近在处理MIUI系统中应用后台弹出界面权限时踩了一些坑,总结下经验,方便遇到同样问题的人。 后台弹出界面权限    Android系统/应用自带了很多权限,为了...
  • Vue 弹出层时 禁止页面滑动

    千次阅读 2018-12-20 16:17:23
    上代码 /***滑动限制***/ stop(){ var mo=function(e){e.preventDefault();}; document.body.style.overflow='hidden'; document.addEventListener("touchmove"...//禁止页面滑动 ...
  • 需求:当android 手机 按了 home 键后 接到语音通话 需要 弹出 语音接听界面。 业务分析:当app 处于 后台状态下(按home键)接到socket 消息或者推送消息 然后 直接从后台 弹出界面。 最终效果:很多 新版...
  • 移动端video播放时不弹出页面

    千次阅读 2018-04-27 10:28:00
    移动端视频在播放时会主动弹出页面,有的浏览器不会。对那些会的浏览器进行处理: 直接加上下面三个属性即可,兼容方面就不说了,微信上是很ok的。 <video x5-playsinline="" playsinline="" webkit-...
  • 弹出隐藏的HTML表单

    万次阅读 多人点赞 2018-02-23 22:02:49
    比如,一些购物网站,允许用户把商品加入购物车,当提交订单时,再检测用户是否登录,如果没有登录,则弹出登录界面,供用户登录。弹出表单的基本原理是,在页面上已经存在一个表单,并通过CSS将其隐藏,当用户点击...
  • 当我们在连接一些公共场所的Wifi时,会发现这些Wifi都是不需要密码的,秒连接,但是网络一般不可用,需要二次弹出页面然后进行连接! 一般是接入公共网络,弹出认证页面,根据规则认证,最后连通网络。 其实原理...
  • jsp页面弹出

    千次阅读 2017-03-01 09:32:25
    各种弹出页面的设计 【1、普通的弹出窗口】  其实代码非常简单:   LANGUAGE=javascript>  <!--  window.open ('page.html')  -->     因为这是一段javascripts代码,所以...
  • 手机调试授权页面不能弹出

    千次阅读 2020-04-08 21:58:10
    1、确认电脑环境,手机开发者模式,usb调试,数据线是否连接好 2、1中没问题后,查看手机是否有 '仅充电’模式允许USB调试选项 开启USB调试前,先选中 '仅充电’模式允许USB调试选项按钮,在开启USB调试。 ...
  •  'newwindow' 弹出窗口的名字(不是文件名),非必须,可用空''代替;  height=100 窗口高度;  width=400 窗口宽度;  top=0 窗口距离屏幕上方的象素值;  left=0 窗口距离屏幕左侧的象素值;  ...
  • layer弹出设置父窗体不可点击方法

    千次阅读 2019-09-30 22:15:10
    添加shade属性 转载于:https://www.cnblogs.com/He-tao-yuan/p/10845554.html
  • 微信小程序弹出层禁止页面滚动

    千次阅读 2019-04-12 16:05:54
    添加自定义的弹出框后,当滚动鼠标时下边的页面也会跟着滚动 解决办法: 在弹出层上添加 catchtouchmove=’true’ <!--弹出框 --> <view class="sh_Model_box" catchtouchmove='true'> ... </view>...
  • 今天学习的时候出现了一个问题,设置了在当前页面弹出页面,但是chrome一直在新标签页中弹出,而火狐可以在当前页面弹出,浏览器本身设置没有问题。经过检查发现是chrome不支持状态栏参数"status=true",改成...
  • 自己写个应用,有个软件更新的需求,但是遇到2个问题...2、7.0权限的问题解决后,下载完了apk不弹出安装页面,这个比较痛苦,还没有报错信息,纠结半天,&lt;uses-permission android:name="android.permi...
  • Javascript的实现弹出层、不弹出弹出层后锁定、不锁定,是否刷新父页面等效果
  • 因为弹出层也有滚动模块,不能使用catchtouchmove 最好的办法可以用两个scroll-view 背景层用scroll-view,上拉加载的时候检测scroll-view的事件进行加载 弹出层也用scroll-view,这样互不干扰,也比较符合规范。 ...
  • 原文:如何在HTML网页中设置弹出窗口的办法 NanShan 小编今天刚刚学会如何在HTML网页中设置弹出窗口的办法,分享给大家吧 【1、最基本的弹出窗口代码】  其实代码非常简单:    window.open ...
  • 多种网页弹出窗口代码

    千次阅读 2021-06-09 07:37:13
    经常上网的朋友可能到过这样一些网站,一进入首页立刻会弹出一个窗口,或者按一个链接或按钮弹出,通常在这个窗口里会显示一些注意事项、版权信息、警告、欢迎光顾之类的话或者作者想要特别提示的信息。其实制作这样...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 120,700
精华内容 48,280
关键字:

怎么设置允许弹出页面