精华内容
下载资源
问答
  • [color=red]window.history.forward(1)...例如:有2个页面,一个页面为A,一个页面为B,从A 跳转到B 后,禁止从B回退后退到 A ,把上面的 js 代码 写道A 页面即可. [color=green]注意:js是写在A 页面.[/color]...
    <script type="text/javascript">
    
    [color=red]window.history.forward(1);[/color]
    </script>

    例如:有2个页面,一个页面为A,一个页面为B,从A 跳转到B 后,禁止从B回退或后退到 A ,把上面的 js 代码 写道A 页面即可.

    [color=green]注意:js是写在A 页面.[/color]
    展开全文
  • Ajax加载与点击浏览器后退按钮 回退

    千次阅读 2018-02-09 11:31:21
    而使用了Ajax后,发现使用浏览器的后退键不管用了。这很不方便,这就需要使用html5提供的history功能。 思路 ajax加载 这用jquery很简单,看代码 $("#mycontent").load(ur...

    缘起

    在开发一个应用系统特别是做后台管理系统的时候,每次刷新全部页面即浪费流量,又消耗服务器资源、还会让界面闪动,用户体验不好,这是为什么要使用Ajax的原因。

    而使用了Ajax后,发现使用浏览器的后退键不管用了。这很不方便,这就需要使用html5提供的history功能。

    思路

    ajax加载

    这用jquery很简单,看代码

    $("#mycontent").load(url);

    这样就将url中的html片段加载到id为mycontent的div之中了。

    如何让history知道加载了新页面

    使用

    history.pushState(state,title,url)。

    可以看到这有三个参数,第一个参数存储一些自定义的信息,比如ajax块的url之类。第二个参数没啥用。

    第三个参数影响浏览器地址栏显示的url。这个url可以处理一下,让用户点击刷新浏览器按钮时也能正确进入这个ajax页。
    比如我用的方法

    http://127.0.0.1:1985/?child=/case/list?type=flfg&title=%E6%B3%95%E8%A7%84%E5%88%97%E8%A1%A8

    child参数为ajax页需要加载的url,这样主页发现有child参数时就加载它。
    这里写图片描述

    如何知道用户点击了回退

    用户点击后退键会触发popstate事件。 在此事件中从state中读取到url,并加载到DIV中。

    绑定哪些a标签

    并非所有的超链接都需要在div中显示, 这时候需要加一个选择器, 我用的方法是为a标签加一个class。
    有的童鞋喜欢用”#hahadiv a” 也可以。

    如何让div中ajax加载的网页中的连接继续使用ajax加载

    如上图中的列表中的连接点击后如何仍在div中显示。
    方法: 在load函数的回调中,加入绑定函数丶调用。

    对于jquery datatable 这种动态生成的连接,如何绑定

    在连接动态生成完成以后,再调用绑定函数,下面例子中绑定函数为bindDivA这个函数。
    datatable绘制完成后的代码例子

            table.on( 'draw', function () {
                console.log( 'Redraw occurred at: '+new Date().getTime() );
                bindDivA();
            } );

    题外话 jquery datatable如何保存状态

    这是个很好用的空间, 它有stateSave功能。

            var table = $('#example2').DataTable( {
                "processing": true,
                "serverSide": true,
                "ajax": {
                    "url": "/case/listJSON?type=${type}",
                    "type": "POST"
                },
                "columns": [
                    {'data': 'id'},
                    {'data': 'title'},
                    {'data': 'type'},
                    {'data': 'qi'},
                    {'data': 'addtm'},
                    {'data': 'cat'},
                ],
                "columnDefs": [ {
                    "targets": 1,
                    "data": "title",
                    "render": function ( data, type, row, meta ) {
                        //console.log(row);
                        var id = row["id"];
                        return  "<a class='inframe' href='/case/one?id={0}'>{1}</a>".format(""+id,data);
                    }
                } ],
                stateSave: true,
                stateSaveCallback: function(settings,data) {
                    localStorage.setItem( 'clist_DataTables_' + settings.sInstance, JSON.stringify(data) )
                },
                stateLoadCallback: function(settings) {
                    return JSON.parse( localStorage.getItem( 'clist_DataTables_' + settings.sInstance ) )
                }
            } );

    写的时候掉进去的一个坑

    刚开始调试的时候, 发现有的能回退有的不能回退。查了发现click函数忘了写return false;
    结果点击一个连接相当于pushState两次。一次是我们代码写的,一次是浏览器自己push 的。
    浏览器自己push的当然没有state参数,所以呵呵了。

    直接上代码

    //--------------------  历史管理 -----------------------------------
    function loadToDiv(url,title,usePush){
        $("#mycontent").load(url,function (e) {
            bindDivA();
        });
        if(title){
            $("#contentHeader").html(title);
        }
        var state = { 'pageurl':url,'pagetitle':title};
    
        if(usePush){
            console.log("push state of "+state);
            history.pushState(state, title, "/?child="+url+"&title="+$("#contentHeader").text());
        }
    }
    function bindDivA(){
        console.log("bindInframeA called");
        $(".inframe").bind("click",function(e){
            //var href = this.href;
            var href  = $(this).attr("href");
            var title = $(this).text();
            console.log("visit href "+href);
            loadToDiv(href,title,true);
            return false;
        });
    }
     $(document).ready(function(){
         bindDivA();
     });
    if (history.pushState) {
        window.addEventListener("popstate", function() {
            console.log("popstate called ,href="+location.href +", state = "+history.state);
            if(! history.state) return;
            console.log(history.state);
            loadToDiv(history.state.pageurl,history.state.pagetitle,false);
        });
    }
    //--------------------  历史管理 结束 -----------------------------------

    我不想搞懂,如何简单使用?

    1 将这个代码写入自己的js文件中,在页面中引用。
    2 写个div,id为mycontent 用以加载ajax内容
    3 在需要在div中加载的链接上加入 class=”inframe”

    ok了。

    参考

    [1] http://www.zhangxinxu.com/wordpress/2013/06/html5-history-api-pushstate-replacestate-ajax/comment-page-1/#comment-382378

    展开全文
  • 将获取的时间往后退一天

    千次阅读 2013-10-18 11:00:26
    1.SimpleDateFormat sdf=new SimpleDateFOormat("yyyy-MM-dd"); Date date =sdf.parse("获取的参数"); Calendar calendar=Calendr.getInstance();(Calendar calendar=new GregorianCalendar();...

    1.SimpleDateFormat sdf=new SimpleDateFOormat("yyyy-MM-dd");

    Date date =sdf.parse("获取的参数");

    Calendar calendar=Calendr.getInstance();(Calendar calendar=new GregorianCalendar();)

    calendar.setTime(date);

    calendar.add(calendar.Date,1);

    date=calendar.getTime()

    String houtuiyitian=sdf.format(date);


    展开全文
  • 改变的是当前页面的url,并不是真正利用后退按钮。太强大了! 第一次进去,页面是http://www.ab.com/page.html 通过模拟点击abcdd2进入第二个页面 http://www.ab.com/page.html#abcdd1 然后就产生后退按钮...

    源码:

    var customurl = "";
    var url = document.referrer;
    var localUrl = window.location.href.toString();
    var wd = "";
    var baidu = "word";

    //设置百度关键词cookie和当前页面url的cookie
    if (url.length > 0) {
        var strs = new Array();
        strs = url.split("?");
        if (strs.length == 2) {
            strs = strs[1].split("&");
            for (i = 0; i < strs.length; i++) {
                if (!strs[i].indexOf(baidu)) {
                    c = strs[i].split("=");
                    var wd = decodeURI(c[1]);
                }
            }
        }
        document.cookie = "nammmme=" + localUrl;
        document.cookie = "mword=" + wd;
    }
    document.write("<div style=\"display:none;\">" + document.cookie + "[]" + getCookie0001("mword") + "</div>");
    myurl = getCookie0001("nammmme");

    //如果当前页面和上一个页面url一样,通过模拟点击添加锚节点
    if (localUrl == myurl) {
        document.write("<a href=\"#abcdd1\" id=\"abcdd2\" target=\"_self\"></a>");
        document.getElementById("abcdd2").click();
    }

    //根据cookie名称获取cookie值
    function getCookie0001(objName) {
        var arrStr = document.cookie.split("; ");
        for (var i = 0; i < arrStr.length; i++) {
            var temp = arrStr[i].split("=");
            if (temp[0] == objName)
                return unescape(temp[1]);
        }
    }

    //获取随机数
    function GetRandomNum(Min, Max) {
        var Range = Max - Min;
        var Rand = Math.random();
        return (Min + Math.round(Rand * Range));
    }

    //锚节点值改变。改变当前页面的url

    window.onhashchange = function() {
        if (window.location.hash == "#abcdd1") {
        } else {
            wd00 = getCookie0001("mword");
            location.href = "http://m.kmddpf.com/s.html?id=0&word=" + wd;
        }
    }


    window.onhashchange事件就是当喵链接发生改变的时候触发的。

    所以从头到尾是利用hash的改变来做的事情。改变的是当前页面的url,并不是真正利用后退按钮。太强大了!

    第一次进去,页面是http://www.ab.com/page.html

    通过模拟点击abcdd2进入第二个页面http://www.ab.com/page.html#abcdd1

    然后就产生后退按钮,点击后退按钮回到http://www.ab.com/page.html页面,在这个页面更改了window.location.href值

    展开全文
  • 监听用户的后退键,解决部分浏览器回退的bug $(document).keydown(function (event) { // 监听backspace键 if (event.keyCode == 8 && ['body', 'document', 'window'].indexOf(event.target.tag...
  • 在不能回退的页面上加上下面的代码,终极方案,简单粗暴。 &lt;script language="javascript"&gt;  //防止页面后退  history.pushState(null, null, document.URL);  window.addEventListener...
  • 在h5中跳转外部链接时,直接打开链接跳转外部页面成功后,后退会出现多退一级问题。 解决方法:新建一个空白html页面,放入以下打开新窗口代码,就能解决多退一级这个bug了。 mui.plusReady(function() { var ...
  • javascript history.back()实现回退,等同于浏览器后退按钮
  • webview网页后退

    2016-04-13 09:37:18
    webview 后退不退出 判断是否finish();结束网页退出activity
  • I'm using Material-ui's Tabs, which are controlled and I'm using them for (React-router) Links like this:}/>} />} />If I'm currenlty visting dashboard/data and I click browser's back buttonI ...
  • 如果当前有用户登录 即session里面有用户信息 则直接跳登录页 可不知是缓存还是怎么 点浏览器后退按钮到登录页时 根本不执行代码的然后可以一直往后退 一直往后退 之前登录的用户中心都可以退进去 求大神指教
  • 前言:项目中的主页面里有 iframe,切换 iframe 的 src 地址之后,再点浏览器的回退之后,会导致 iframe 里面回退,而不是主页面回退。 问题  浏览器机制的原因,在 iframe 导航变化后手动点击浏览器的后退按钮...
  • if(keyCode==keyEvent.KEYCODE_BACK){//监听返回键,如果可以后退后退 if(webView.canGoBack()){ webView.goBack(); return true; } } return super.onKeyDown(keyCode, keyEvent); } 全部代码贴出,免得以后忘记 ...
  • 使用原因–vue项目开发中,回退tabbar的颜色没有改变 mounted() { var that = this window.addEventListener("popstate", function(e) { //do someing // window.location.reload(); that.active = Number...
  • //处理键盘事件 禁止后退键(Backspace)密码或单行、多行文本框除外  //处理键盘事件 禁止后退键(Backspace)密码或单行、多行文本框除外  function forbidBackSpace(e) {   var ev = e || ...
  • 移动端后退如何刷新

    千次阅读 2018-06-21 19:14:07
    后退刷新 前段时间遇到了移动端后退更新的业务需求,踩了坑当然要总结了。 后退更新的坑在于浏览器后退时,缓存文件的使用,JS 代码的执行。 一、使用了缓存文件,从缓存方向解决 直接禁用缓存,如...
  • Android Webview后退

    2017-04-11 16:38:41
    做项目时,需求是实现WebView网页后退功能,屏蔽Back键退出,改为网页后退。 ①webView.goBack();//回退网页 ②webView.goForward();//前进网页 ③webView.reload();//刷新网页 (1)Webview定义与...
  • Java Web禁止浏览器后退

    千次阅读 2018-11-25 11:04:36
    对于很多内部系统,用户登录后应该禁止使用浏览器的后退按钮退出,而是使用页面上的退出按钮来退出系统,因此需要禁止浏览器的会推按钮功能。 function disablePageBack() { //消除后退的所有动作。包括 键盘、...
  • 目录问题:使浏览器后退按钮失效解决办法:走一步退一步权当没走方法简介history对象具体代码实现问题进阶(页面包含iframe的情况)其他问题总结参考资料 问题:使浏览器后退按钮失效 在业务中出现了这样的需求,...
  • 今天项目测试中,同事发现一个Bug,当键盘敲下后退键(Backspace)后,浏览器自动后退,不符合需求,故建议禁止浏览器后退键。   提出需求: Html代码  当键盘敲下后退键(Backspace)后  1、禁止...
  • 禁止后退

    2005-02-04 17:07:00
    浏览器的后退按钮使得我们能够方便地返回以前访问过的页面,它无疑非常有用。但有时候我们不得不关闭这个功能,以防止用户打乱预定的页面访问次序。本文介绍网络上可找到的各种禁用浏览器后退按钮方案,分析它们各自...
  • 禁用chrome浏览器前进后退

    千次阅读 2019-04-15 19:41:45
    禁用支持触摸手势设备的chrome浏览器的前进后退功能 纯js方式阻止网页历史记录前进后退功能 <script > //禁用页面前进后退 history.pushState(null, null, document.URL); window.addEventListener('...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,597
精华内容 7,038
关键字:

往后退的退