这个是同事今天遇到的问题,有一个Form,里面有几个下拉列表Select和一个输入框Input,点击按钮进入下一个页面,在下一个页面有一个后退按钮,点击后退按钮(调用的就是history.back())返回前面的页面,页面上根据Form的内容拼接的一个字符串的内容不太对,那个Input输入框的部分的内容不正确,其它的下拉列表的内容是正确的,看了下他的代码,发现是使用document.write在页面加载过程中直接输出的,这个问题以前遇到过,但是我只是猜测浏览器的工作原理,没有找到权威的论据:
Input输入框是有一个defaultValue属性的,就是页面最开始的时候的值,如果用户修改输入框的值,那么变化的是value值,而如果进入下一个页面,然后使用浏览器的回退功能返回,那么页面加载的时候还是先加载的那个defaultValue的值,用户修改的那些值在页面完成加载后才会变化。所以同事遇到的那个问题可以通过页面的onLoad解决或者window.setTimeout解决。
明天到公司验证下,加些JavaScript应该可以确定这个过程。
作者:
解惑/Cherami
原载:
浏览器回退的问题
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。
分类:
JavaScript
分享到:
相关推荐
然而,在使用SPA时,一个常见的问题是如何处理浏览器的后退按钮。在传统的多页面应用(MPA)中,用户可以自由地在各个页面之间前进和后退。但在SPA中,由于只有一个页面,所以管理历史记录的方式略有不同。 首先,...
综上所述,本文提供了在JavaScript中禁止浏览器回退事件的实现方法,这种技术能够满足开发者在特定场景下对页面导航行为的控制需求。需要注意的是,虽然禁止浏览器的回退事件可以在很大程度上控制用户的导航行为,但...
iOS在微信浏览器回退是不重新加载页面的,有些时候是需要重新加载的,所以需要监听回退事件 $(function(){ pushHistory(); }); function pushHistory(){ window.addEventListener(popstate, function(e){ alert&...
在HTML页面中,Vue.js应用通常会遇到一个问题:当用户从一个页面(如B页面)回退到另一个页面(如A页面)时,如果A页面是单页应用(SPA),则由于浏览器的默认行为,回退操作可能会导致页面重新加载,从而丢失之前的...
总结来说,解决Ajax与浏览器回退按钮冲突的关键在于创建和管理自定义的历史记录,以及正确处理回退事件。DHTMLHistory.js提供了一个实用的工具,帮助开发者轻松实现这一目标。在实际开发中,还可以结合HTML5的`...
### JS监控IE与火狐浏览器关闭、刷新、回退、前进事件 #### 一、引言 在Web应用开发过程中,有时需要对用户的浏览器行为进行监控,比如浏览器的关闭、刷新、前进或后退等操作。这对于提高用户体验、确保应用程序...
标题提到的“jquery+js两种方式实现的禁止退格键回退”主要涉及JavaScript和jQuery这两种方法来阻止浏览器响应退格键的行为。下面将详细介绍这两种实现方式。 首先,我们来看JavaScript原生的方法: 1. **监听键盘...
- **兼容性问题**:虽然大多数现代浏览器都支持上述方法,但在处理不同浏览器之间的差异时仍然需要注意兼容性问题。 - **性能考量**:长期使用这些`<meta>`标签可能会降低页面的加载速度,因为每次访问都需要重新...
页面回退问题通常涉及到用户操作历史、URL重定向和会话状态管理等多个方面。本篇将深入探讨如何巧妙地解决.NET中的页面回退问题,以一种新颖而实用的方法来应对这一挑战。 首先,我们要理解页面回退的基本概念。当...
这使得用户可以按照他们在应用中的导航顺序进行回退,类似于浏览器的历史记录。 具体实现Fragment回退栈的操作主要有以下几种: 1. **添加Fragment**:使用`FragmentManager.beginTransaction()`开始一个事务,...
屏蔽回退键 支持Firefox、Opera IE、Chrome
用于不太现代的浏览器的 AngularJS 回退集合。 占位符 在输入焦点时擦除的文本占位符。 它缺少 IE 6-9。 用例示例: <input type="text" placeholder="{{i18n.input_placeholder}}" /> 揭示 出现在密码输入...
Fragment回退栈是Android系统管理Fragment的一种机制,它模拟了浏览器的后退功能,用户可以通过点击设备上的返回按钮或者程序逻辑来触发回退操作。下面将详细介绍Android Fragment回退栈的原理、使用方法以及实践中...
解决这个问题的方法之一是使用条件注释或工具如`Modernizr`来检测浏览器特性,然后提供回退代码或polyfill。另外,`jQuery`等库也提供了跨浏览器的API,简化了兼容性工作。 `js兼容ff.doc`可能包含针对Firefox的...
但是这样点点击浏览器的后退仍然可以回到刚才的页面,这可不行,在网上找了一下,也有不少人遇到这样的问题,试了一些方法,都不管用。不过最后还是找到,共享一下。 ...
在实际应用中,运营人员在编辑数据时不希望因不小心点击了浏览器的回退或刷新按钮导致花费了很长时间编辑的数据丢失。可以采用以下两种手段防止运营编辑时丢失数据: 在运营人员刷新页面或回退时,自动保留数据至...
// 对于未知的浏览器,直接尝试回退 window.history.go(-1); } } } ``` 在这个函数中,我们首先通过`navigator.userAgent`来识别用户使用的浏览器类型。对于IE浏览器,如果`history.length`大于0,表示有可回退...
这段代码会在用户尝试回退或前进时显示一个提示,阻止了默认的页面回退行为。但请注意,这样做可能会影响用户的正常浏览体验,因此需谨慎使用。 接下来,我们讨论如何禁用F5刷新和Ctrl+S保存操作。同样,我们可以...