NTS框架中采用了新的方式记录浏览器的操作历史,因此在某些带IFRAME载入内容的项目中不希望这个IFRAME的变化影响到整个系统的操作历史,下面给出两种禁止IFRAME记录操作历史的解决方案,各有利弊视具体情况选取。
方案一
原理:利用location的replace方法载入新页面,关于replace方法的描述:
范例:
方案二
原理:先销毁已有iframe再创建一个新的,然后通过新的iframe载入新的页面内容
分析:不存在跨域问题,但是会有iframe不断创建销毁的额外开销
范例:
方案一
原理:利用location的replace方法载入新页面,关于replace方法的描述:
When a document is replaced, it is also removed from the
history object. Moreover, the user interface navigation methods, such as the Back and Forward buttons, will no longer access the URL.
分析:此方案有个前提条件就是父窗体需要有对iframe窗体的访问权限,因此此方案一般用于iframe载入的内容和父窗体是同域或者同父域的情形。
范例:
![禁止IFRAME记录历史 - genify - ajaxer](http://img458.ph.126.net/GHCWxNc1cdgEz8C_OfSXOg==/2550163288999478914.jpg)
方案二
原理:先销毁已有iframe再创建一个新的,然后通过新的iframe载入新的页面内容
分析:不存在跨域问题,但是会有iframe不断创建销毁的额外开销
范例:
![禁止IFRAME记录历史 - genify - ajaxer](http://img58.ph.126.net/-u2HwLoBBE5ECBGD8Du95w==/1830150298574140747.jpg)