由于FireFox的刷新机制与IE有较大区别。所以javascript代码 document.location.reload();通常在IE上工作正常,在Firefox下效果却并不理想,这是因为Firefox会记录上一次的页面元素的值,所以我们常常会看见刷新页面后,旧的值却好保留在页面上。

Tips: document.location.reload()相当于在Firefox上 按F5 来刷新,但 F5刷新 并不能清除缓存中被保留的页面元素的值。但我们可以用Ctrl+F5 来实现IE下F5的效果,先清除缓存,然后刷新页面。

但是在网页开发过程中,如何保证Firefox下的页面元素不保留上一次的结果,实时刷新呢?这里可以用到一个属性:autocomplete

将autocomplete设置成"off" 后退或刷新页面时,Firefox就不会自动记忆表单状态了。

autocomplete可以应用到整个form,也可以应用到单个的input上。如:

<form name="form1" method="post"  autocomplete="off">

。。。

</form>

<input type="radio"   name="rd_service" value="1">...</input>

通常在实际情况下,可能需要执行两次document.location.reload();才能真正刷新, 本人不才,还不能理解其中奥妙,这个可能是firefox3.6的bug。 请参考如下sample代码:

<script  type="text/javascript">
    var memberID = "<%=memberName%>";
    var headersavedservice = "<%=category%>";
    
    function headerchangeService(r_service){

if(confirm("Save it to default Service?"))
                 {
          
       changeDsService(memberID, r_service);        
       document.location.reload();
       document.location.reload();
        }
        else
        {
           var rd_services = document.getElementsByTagName_r("input");
         for (var i = 0 ; i < rd_services.length ; i++ ){
                            if(rd_services[i].name == "rd_service" && rd_services[i].value == headersavedservice){
                                 rd_services[i].checked=true;
                                 break;
                            }
                       }                    
        }
    }
    
          </script>

原文转载:http://blog.sina.com.cn/s/blog_647ca5120100j6n5.html

解决Firefox下,页面元素不刷新问题的更多相关文章

  1. 解决Firefox下input button内文字垂直居中

    众所周知,在Firefox下input type=”button”的文字是不好居中的,原因在于Firefox自己比较二,弄了个私有属性,导致以下问题的出现: 按钮左右本身有2px的间距(FF私有属性写 ...

  2. 解决ie8下h5元素兼容性的问题

    HTML5的语义化标签以及属性,可以让开发者非常方便地实现清晰的web页面布局,加上CSS3的效果渲染,快速建立丰富灵活的web页面显得非常简单. HTML5的新标签元素有: <header&g ...

  3. Linux 解决 firefox 中文页面乱码问题

    1.由于 firefox 默认是允许网页自己选择字体,在 Linux 上便会出现部分网站的乱码情况.因此可以取消允许页面自己选择字体这个选项便能解决部分乱码情况.

  4. 解决ios微信页面回退不刷新的问题

    在回退后需要刷新的页面加以下js $(function () {   var isPageHide = false;   window.addEventListener('pageshow', fun ...

  5. 解决IE下页面空白或者报错:[vuex] vuex requires a Promise polyfill in this browser

    [vuex] vuex requires a Promise polyfill in this browser 上述错误的原因是不支持 Promise 方法,导致页面出现空白无法加载. 解决方法如下: ...

  6. 解决ie8下页面刚出现时候的晃动问题

    出现这个问题的原因的页面的高度超过一屏,这个时候需要在开始的时候给 html,body {overflow:scroll;overflow-x:hidden}; 这样就可以解决这个问题了

  7. 如何解决firefox下window.event的问题

    一.在函数中传递event参数 在函数中传递event参数,这样我们就可以兼容IE和FF的event的获取了,如下面的函数: function _test(evt){    var src = evt ...

  8. 解决ubuntu下firefox无法在线播放音频和视频的问题

    原因 Ubuntu 为了规避专利和版权问题,很多东西没有预装,比如音视频解码器AAC. 那么为什么明明 Ubuntu 上没有AAC解码器, Chrome 却可以正常播放呢,自然的想法是 Chrome ...

  9. sellenium页面元素的定位方法

    1.findElements函数可用于多个元素定位 (1)使用ID定位:driver.findElement(By.id("ID值")); 例:HTML代码: 定位语句代码:Web ...

随机推荐

  1. Tools - VirtualBox的使用方法和技巧

    01 - 为CentOS虚拟机安装VirtualBox增强功能 启动CentOS虚拟机,点击"菜单 -> 设备 -> 安装增强功能". vboxadd的映像文件将会被挂 ...

  2. 2-2 Todolist简单案例

     用v-on,v-for,v-model实现简单的Todolist案例

  3. 2019年19道java经典面试题(附答案)

    1.不可变对象 指对象一旦被创建状态不能再改变.任何修改都会创建一个新的对象,如 String.Integer及其它包装类. 2.能否创建一个包含可变对象的不可变对象? 可以.不要共享可变对象的引用就 ...

  4. HP服务器设置iLO步凑

    HP服务器设置iLO步凑 1.开机出现界面—按下F11进入Boot Menu: 2.选择Generic USB Boot回车: 3.选择System Configuration回车: 4.选择iLO ...

  5. Linux编程 8 (挂载mount,查看磁盘df du,搜索grep,压缩zgip,归档tar)

    一. 挂载存储媒体 linux文件系统将所有的磁盘都并入一个虚拟目录下,当使用新的存储媒体之前,需要把它放到虚拟目录下,这项工作称为挂载(mounting) 1.1 mount 命令 在linux上用 ...

  6. .NET内存管理、垃圾回收

    1. Stack和Heap    每个线程对应一个stack,线程创建的时候CLR为其创建这个stack,stack主要作用是记录函数的执行情况.值类型变量(函数的参数.局部变量 等非成员变量)都分配 ...

  7. vmware workstation 提示程序包可能有错,错误代码 29141 & 提示不可恢复错误: (vcpu-0)

    问题一:提示程序包可能有错,错误代码 29141 换了n个版本(vmware workstation 10,11, 12),下载了n次,都提示该错误(29141),明明程序包没错啊, 一开始还怀疑是我 ...

  8. Java并发编程之synchronized关键字

    整理一下synchronized关键字相关的知识点. 在多线程并发编程中synchronized扮演着相当重要的角色,synchronized关键字是用来控制线程同步的,可以保证在同一个时刻,只有一个 ...

  9. Jenkins之使用Pyinstaller构建Python应用程序

    目录 1. 极简概述 2. Jenkins配置 2.1 安装JDK 2.2 安装Jenkins 3. 安装Docker 4. 使用PyInstaller构建Python应用程序 4.1 Fork 一个 ...

  10. Docker构建Java web应用服务

    1.构建一个Java应用服务,包含两个步骤:a.一个镜像从URL拉取指定的WAR文件并保存到卷里b.一个含有Tomcat服务器的镜像运行这些下载的WAR文件 2.构建下载WAR的镜像 FROM cen ...