现在我想通过js或者jquery去改变我浏览器的地址而不去刷新页面。
原因是当我列表页面点开查看的时候地址栏不是带了这个信息的主键吗?而且当我打开这条信息的时候这条记录会被处理而且地址栏还是以前的那个主键的地址。现在呢我如果去刷新这个页面就会去报错所以我想去用js改变一下地址栏而不去刷新页面。只要在IE8下面支持就可以了。jQueryJavaScript浏览器IE8

解决方案 »

  1.   

    window.location.hash=你的url,试试
      

  2.   

    2楼不行的话,试试window.location.harf="此处是您的相对定位的URL"
      

  3.   

    那你还不如定义这个试试:
    window.onunload=function(){
      window.location.href="目标url";
    }
    我觉得这个不应该是技术上怎么实现一个地址栏和页面实际内容不一致的解决办法,而应该是从业务操作流程上做总体规划!
    比如:view.do?id=123,这个Action把id丢到session去,然后redirect到realView.do不接受参数而从session中获取,这样地址栏也不会出现?id=123,当然这需要根据具体的需求来决定!
      

  4.   


    你的这个window.onunload是如何执行啊。丢到代码里面没有反应。
    对于的你的提议我很赞成可是现在这个项目已经在用了。而且也不想做太大的改动。如果需要就等以后版本升级在做了。
      

  5.   

    $(function () {
            window.location.href="地址";
    });
    我觉得应该就是这样了
      

  6.   

    你的这个方法确实可以把我的地址栏叠加到一起但是比如啊
    我的地址是这样的http://localhost:9999/test/testAction.do?id=0001
    我可以通过这个方法改成这样吗?
    http://localhost:9999/test/testAction.do?id=0002
      

  7.   

    document.oncontextmenu=function(){
      alert("弹出菜单");
    }
      

  8.   

    刚接触java不久,了解一些前端的技术
    貌似向你说的似乎要用到ajax+jquery
    实现页面局部更新,整个页面时不用刷新的
    我平常用的时候还结合了Struts2中的Action
    //检查邮箱是否被占用
    $.post("validEmail.action",
        {"email":textemail},
        function(data){
          if(data){
            $('#emailImg').attr('style','display:inline');  
            flag.email = true;
            return;
          }else{
            $('#email\\.info').html("Email地址被占用");
          }
          return;
        }
    );
      

  9.   

    你的这个方法确实可以把我的地址栏叠加到一起但是比如啊
    我的地址是这样的http://localhost:9999/test/testAction.do?id=0001
    我可以通过这个方法改成这样吗?
    http://localhost:9999/test/testAction.do?id=0002还有个方法,这样试试,每次调用ajax后,执行window.location.search='新的url';
      

  10.   

    你的这个方法确实可以把我的地址栏叠加到一起但是比如啊
    我的地址是这样的http://localhost:9999/test/testAction.do?id=0001
    我可以通过这个方法改成这样吗?
    http://localhost:9999/test/testAction.do?id=0002还有个方法,这样试试,每次调用ajax后,执行window.location.search='新的url';貌似和hash一样效果
      

  11.   

    我是觉得你解决问题的思路错了。你是想第二次打开这个页面,或者刷新的时候,不要再对这条记录做处理,是不是可以考虑,在第一次打开这个记录做处理的时候,加上一个标志位,这样就是很简单的事了。你这个用JS改变地址栏URL且不刷新页面,貌似不大靠谱。