首页 > 技术文章 > 手机上万能返回上一页(wap2.0)代替history.go(-1)

hfgb 2017-07-04 11:34 原文

最近在做wap2.0的手机wap,写返回上一页的时候,开始是用history.go(-1);

发现在手机上只有部分机器可以比如windows mobile 而在别的机器如nokia和ophone手机

上这些就不太好用了,经过左思右想终于想到了个山寨方法来解决这个流氓问题了...

不直接用手机的返回功能,而是通过读取 referrer 上得到上一页的链接来实现手机返回上一页功能

代码如下:

Javascript CODE

[javascript] view plaincopyprint?
  1. /*返回上一页*/  
  2. function return_prepage()  
  3. {  
  4. if(window.document.referrer==""||window.document.referrer==window.location.href)  
  5. {  
  6. window.location.href="{dede:type}[field:typelink /]{/dede:type}";  
  7. }else  
  8. {  
  9. window.location.href=window.document.referrer;  
  10. }  
  11.   
  12. }  

 

在需要用的地方直接调用;

javascript:return_prepage();

 

监听浏览器返回上一页

 
  $(document).ready(function($) {
 
  if (window.history && window.history.pushState) {
 
    $(window).on('popstate', function() {
      var hashLocation = location.hash;
      var hashSplit = hashLocation.split("#!/");
      var hashName = hashSplit[1];
 
      if (hashName !== '') {
        var hash = window.location.hash;
        if (hash === '') {
          alert('後退按鈕點擊');
        }
      }
    });
 
    window.history.pushState('forward', null, './#forward');
  }
 
});

 

推荐阅读