zoukankan      html  css  js  c++  java
  • 解决淘宝sui插件后退bug

    淘宝的sui插件在微信里,第一次访问没有问题,跳转走以后,再后退回来, 插件就无法正常加载。

    一下是官方给出的说法

    切换到的新页面中的 js 不执行

    由于浏览器安全性考虑的限制以及可能的 js 重复执行或覆盖的问题,目前是不支持运行 ajax 载入的页面里面的 js 的,参考 #120

    解决方法:所有页面都引用相同的 js,而这个 js 里面包含了所有的逻辑,事件部分使用委托来绑定。

    因为我是做后台的,有些地方是JS和PHP混写的。 吧JS单独出去处理起来比较麻烦。

    考虑到只有微信出现这样的问题。 

    设: 从A页面访问B页面 再从B页面后退到A页面

    解决办法:

    在A页面 JS最头代码加入

        <?php if(!$this->isapp) :?>
        sessionStorage.setItem("_refresh",'1');
        <?php endif;?>

    在A页面跳转B页面的连接上 加事件  参考代码如下

    <a class="head_r external" href="?a=3" onclick="return jumpSearch()"></a>
    
        function jumpSearch(){
            <?php if(!$this->isapp) :?>
            sessionStorage.removeItem("_refresh");
            <?php endif;?>
            return true;
        }

    现在到了B页面 那么做一下判断 同样是加载JS最顶部

        <?php if(!$this->isapp) :?>
        if(typeof(sessionStorage.getItem("_refresh")) != 'object'){
            sessionStorage.removeItem("_refresh");
            location.reload(true);
        }

    如果你不是通过A连接跳转到B页面的, 就会存在sessionStorage _refresh key

    存在这个key 就证明用户是通过后退过来的, 此时强制刷新浏览器问题解决。 

    PS:只有微信端有此问题,不是最好的解决办法。没有采用淘宝官方的解决方案,。

  • 相关阅读:
    课程总结
    每日总结66
    每日总结65
    每日总结64
    每日总结63
    每日总结62
    每日总结61
    每日总结60
    偶滴点NET复习
    内部异常SocketException由于目标计算机积极拒绝
  • 原文地址:https://www.cnblogs.com/onephp/p/5507752.html
Copyright © 2011-2022 走看看