精华内容
下载资源
问答
  • 需求,那在代码中怎样监听当点击微信、支付宝、百度糯米、百度钱包等app的返回按钮或者浏览器的上一页或后退按钮的事件呢。 我相信很多朋友像我一样,在百度、搜狗里面搜索很久都没找到方法。下面就来告诉大家怎样...

    在实际的应用中,我们常常需要实现在移动app和浏览器中点击返回、后退、上一页等按钮实现自己的关闭页面、调整到指定页面或执行一些其它操作的

    需求,那在代码中怎样监听当点击微信、支付宝、百度糯米、百度钱包等app的返回按钮或者浏览器的上一页或后退按钮的事件呢。 

    我相信很多朋友像我一样,在百度、搜狗里面搜索很久都没找到方法。下面就来告诉大家怎样监听的方法: 

    首先我们要了解浏览器的history。大家知道在页面中我们可以使用JavaScript window history,后退到前面页面,但是由于安全原因javascript不允许修改

    history里已有的url链接,但可以使用pushState方法往history里增加url链接,并且提供popstate事件监测从history栈里弹出url。既然有提供popstate事件

    监测,那么我们就可以进行监听。 

    返回、后退、上一页按钮点击监听实现代码:    

    1. window.addEventListener("popstate", function(e) {  
    2.         alert("我监听到了浏览器的返回按钮事件啦");//根据自己的需求实现自己的功能  
    3.     }, false);   

    虽然我们监听到了后退事件,但是页面还是会返回上一个页面,所以我们需要使用pushState增加一个本页的url,代表本页,大家都非常清楚是#  

     
    1. function pushHistory() {  
    2.         var state = {  
    3.             title: "title",  
    4.             url: "#"  
    5.         };  
    6.         window.history.pushState(state, "title", "#");  
    7.     }   

    当进入该页面,我们就给这个history压入一个本地的连接。当点击返回、后退及上一页的操作时,就进行监听,在监听代码中实现自己操作。 

    下面是完整的代码: 

     
    1. $(function(){  
    2.     pushHistory();  
    3.     window.addEventListener("popstate", function(e) {  
    4.         alert("我监听到了浏览器的返回按钮事件啦");//根据自己的需求实现自己的功能  
    5. }, false);  
    6.     function pushHistory() {  
    7.         var state = {  
    8.             title: "title",  
    9.             url: "#"  
    10.         };  
    11.         window.history.pushState(state, "title", "#");  
    12.     }  
    13.       
    14. });   

    注:部分代码参考网上! 

    后续问题收集: 

    1.在微信中进入页面就触发了popstate事件。 

    解决方法:定义boolean 变量bool=false。在页面加载后,采用setTimeout方法设置1.5s的超时,在超时执行方法中设置bool=true。

    在popstate监听当中增加对bool的判断,当bool=true时,执行内容。具体代码如下:

     
    1. $(function(){  
    2.             pushHistory();  
    3.             var bool=false;  
    4.             setTimeout(function(){  
    5.                   bool=true;  
    6.             },1500);  
    7.             window.addEventListener("popstate", function(e) {  
    8.               if(bool)  
    9.                 {  
    10.                         alert("我监听到了浏览器的返回按钮事件啦");//根据自己的需求实现自己的功能  WeixinJSBridge.call('closeWindow');//本人是直接关闭微信页面;项目需要
    11.                 }  
    12.                 pushHistory();  
    13.                   
    14.         }, false);  
    15.         });  

     

    展开全文
  • $(function(){ pushHistory(); window.addEventListener("popstate", function... //关闭微信页面返回会话 WeixinJSBridge.call('closeWindow'); }, false); function pushHistory() { var
    	<script src="__PUBLIC__/js/jquery.js"></script>
    	<script>
    		$(function(){
    			pushHistory();  
    			window.addEventListener("popstate", function(e) {
    				//关闭微信页面返回会话
    				WeixinJSBridge.call('closeWindow');  
    			}, false);  
    			function pushHistory() {  
    				var state = {  
    					title: "title",  
    					url: "#"  
    				};  
    				window.history.pushState(state, "title", "#");  
    			}  
    		});    
    	</script>

    展开全文
  • 微信页面监听返回事件,关闭页面

    千次阅读 2018-10-25 11:25:13
    pushHistory(); window.addEventListener(&amp;quot;...我监听到了浏览器的返回按钮事件啦&amp;quot;);//根据自己的需求实现自己的功能 //alert('guanbi'); WeixinJSBridge.call('clos
    $(function(){
    		pushHistory();
            window.addEventListener("popstate", function(e) {
                //alert("我监听到了浏览器的返回按钮事件啦");//根据自己的需求实现自己的功能
                //alert('guanbi');
                WeixinJSBridge.call('closeWindow');
                if(typeof(WeixinJSBridge)!="undefined"){
                        WeixinJSBridge.call('closeWindow');
                    }else{
                        if (navigator.userAgent.indexOf("MSIE") > 0) {  
                            if (navigator.userAgent.indexOf("MSIE 6.0") > 0) {  
                                window.opener = null; window.close();  
                            }  
                            else {  
                                window.open('', '_top'); window.top.close();  
                            }  
                        }  
                        else if (navigator.userAgent.indexOf("Firefox") > 0) {  
                            window.location.href = 'about:blank ';  
                            //window.history.go(-2);  
                        }  
                        else {  
                            window.opener = null;   
                            window.open('', '_self', '');  
                            window.close();  
                        }
                    }
            }, false);
            window.onbeforeunload = function() {
                    return;
                } 
            function pushHistory() {
                var state = {
                    title: "title",
                    url: ""
                };
                window.history.pushState(state, "title", "");
            }
        });
    
    展开全文
  • 问题描述:在点击返回按钮后未自动刷新页面,但功能要求需要强制刷新 if(window.name != “bencalie”){ location.reload(); window.name = “bencalie”; } else{ window.name = “”; } ...

    问题描述:在点击返回按钮后未自动刷新页面,但功能要求需要强制刷新
    if(window.name != “bencalie”){
    location.reload();
    window.name = “bencalie”;
    }
    else{
    window.name = “”;
    }

    展开全文
  • 微信小程序开发中,返回上一页是很普遍...//在C页面内 navigateBack,将返回A页面,delta = 1 时与 wx.navigateBack() 效果一致 wx.navigateBack({ delta: 2 }) 但是有些时候,我们需要实现点击手机的返回键,也返回
  • 微信网站项目中 点击跳转事件到 微信图文页面 左上角返回无法返回到原网站页面
  • 主要介绍了微信小程序返回多级页面的实现方法的相关资料,希望通过本文能帮助到大家,让大家实现这样的功能,需要的朋友可以参考下
  • 在做微信h5页面的时候,我们需要返回时刷新前一个页面的数据,比如在页面A点击支付按钮跳转到页面B,从页面B返回时要获取当前订单的支付状态防止重复支付。 在安卓手机上不会有困扰,因为安卓手机在微信h5中返回都会...
  • 主要介绍了微信小程序返回箭头跳转到指定页面实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 主要介绍了微信小程序返回上一级页面的实现代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • 完美解决微信页面返回不刷新问题

    万次阅读 2018-08-12 12:22:48
    新到的这家公司业务重点是放在移动端的(以前很少做微信平台相关的页面),比如微信,小程序,支付宝等等平台。所以页面的制作难免和移动端打交道。现在就遇到一个小问题,但是又很不好解决的一个问题:就是从一个页面...
  • 微信小程序返回上级页面navigateBack

    千次阅读 2019-08-28 14:39:45
    下面是官方示例: // 注意:调用 navigateTo 跳转时,调用该方法的页面会被加入堆栈,而 redirectTo 方法则不会。见下方示例代码 // 此处是A页面 ...// 在C页面内 navigateBack,将返回A页面 ...
  • 微信页面里iphone点返回不刷新问题

    千次阅读 2018-01-09 19:29:24
    > 1.问题描述: 微信开发的时候,在公众号菜单中打开一个H5页面(如:分享的视频详情页面),微信授权登录有...解决方式1:微信页面里iphone点返回进行刷新操作 $(function() { pushHistory(); window.addE...
  • 微信小程序返回上级页面时单个数据交互实现原理:目标页面利用小程序的页面栈查找上级页面的page对象,并在不刷新页面的情况下修改上级页面的data单条或多条数据。实现代码:const wxCurrPage = getCurrentPages();/...
  • 微信小程序返回上一级页面时需要重新加载一下数据 问题解决: 方法一: 在需要返回页面的onShow(){}方法中调用要刷新数据的方法 方法二: goBack(){ let pages = getCurrentPages(); //获取小程序页面栈 let ...
  • vue控制微信返回按钮返回其他页面

    千次阅读 2019-06-10 09:47:02
    pushState,浏览器并不会真正去加载这个路径),当点击返回时,监听到返回事件处理自己想处理的逻辑,反正微信它是一定要执行返回,刚添加的那条记录就会从 window.history 拿出并将此路径替换当前页面路径。...
  • 微信小程序返回上一级页面

    千次阅读 2020-06-19 10:50:46
    微信小程序返回上一级页面wx.navigateBack({ delta: 1 //返回上一级页面}) wx.navigateBack({ delta: 1 //返回上一级页面}) html: <view class="refusea_btn"> <van-button type="primary" size="large" ...
  • 1,打包后的apk文件签名必须与微信平台设置一致 2,WXEntryActivity.java的完整路径必须正确,否则微信登录会无法返回相关用户数据,也无法正常执行回调 在AndroidManifest.xml中下注册下面的回调Activity。...
  • 微信小程序返回功能

    万次阅读 2017-05-09 15:04:15
    微信小程序返回功能
  • 假如从页面B返回页面A时实现页面A刷新 页面B: var pages = getCurrentPages();//当前页面栈 if (pages.length &gt; 1) { var beforePage = pages[pages.length - 2];//获取上一个页面实例对象 var ...
  • 我是从收货地址页面(addres.js)跳转到添加收货地址页面(addAddress.js),然后在这个页面点击获取微信地址,当跳转到你微信的地址页面后,点击完成,就直接跳转到地址页面,并将微信的收货地址展示在地址页面上 ...
  • 最近在做微信公众号中的功能,有发现一个问题,就是微信H5页面中,有时候返回上一页后页面不会自动刷新,这样子就有可能造成页面数据更新不及时 在网上搜索后发现一个解决办法,使用window监听pageShow window....
  • 主要为大家详细介绍了6行代码实现微信小程序页面返回顶部效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 2.使用小程序页面栈来设置需要传的值 let pages = getCurrentPages() //获取页面栈 let prevPage = pages[pages.length - 2] //获取上一个页面的实例 prevPage.setData({ fileUrl: this.data.url //设置想要传...
  • 现在从结果页,直接点击微信浏览器的返回左箭头,发现会返回答题页面,这个页面不管有缓存答案还是不缓存,都需要刷新之后,再次提交才可以,否则就获取不到结果集,就直接跳转到没有结果集的错误页面。 问题的...
  • #wechat_redirect 或者去掉#rd 转载于:https://www.cnblogs.com/chengyunshen/p/8351920.html
  • 基于微信的网页开发,![图片说明]... ...在A页面点击返回需要回到D页面,然而微信上自带的返回按钮会将页面返回到之前操作的页面B。怎么操作才能实现返回到指定的D页面。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 84,807
精华内容 33,922
关键字:

微信页面无法返回