当前位置: 首页 > 图文教程 > 网络编程 > Javascript > javascript IFrame 强制刷新代码

Javascript
JavaScript教程:浅析JS运行机制
JavaScript类型检测小结
JavaScript内置对象:arguments
编写复杂环境下不出错的Javascript代码
掌握JavaScript语言
IE7中网页动态创建iframe时边框问题
总结常用JavaScript语法107条
AJAX教程(1):AJAX简介
AJAX教程(2):AJAX Http请求
AJAX教程(3):AJAX实例
AJAX教程(4):AJAX 浏览器支持
AJAX教程(5):AJAX-XMLHttpRequest 对象
AJAX教程(6):AJAX - 请求服务器
AJAX教程(7):AJAX - 服务器端的脚本
AJAX教程(8):AJAX 请求实例
AJAX教程(9):AJAX 请求 源代码
AJAX教程(10):AJAX 数据库实例
AJAX教程(11):AJAX XML 实例
AJAX教程(12):AJAX ResponseXML 实例
AJAX教程(13):通过XMLHTTP把文本文件载入HTML元素

Javascript 中的 javascript IFrame 强制刷新代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 491 ::
收藏到网摘: n/a

经常会使用多个iframe来展示领域模型主子关系(主/子单),测试发现iframe是有cache功能的 当第一次从主窗口进入到一个iframe简称{A}中,此时这个{A}中呈现的数据是新的,这时我又点了另外的一个iframe简称{B},这里{B}的数据也是新的,在{B}中进行一些逻辑处理,如向{A}中批量增加模型数据,这里我们再进入到{A}中会发现数据是被缓存着的。因为是从{B}中对批量操作了{A}的数据,{B}是与server通信的,也就是会进行逻辑层/持久层操作,这样server端更新的呈现部分是{B}而不是全部,这也就是局部刷新,只刷{B}。而我们需要做的是让{A}中的内容也跟着变。
解决方案:
·很明显iframe.window.location.reload();不符合当前需求。
·使用window.setTimeout(iframe.window.loadction.reload(),1000);这种方式会造成多次刷新,如果还要在{A}中对{B}的数据进行更新呢?
·研究了半天,其实可以直接从iframe cache问题入手来解决,很easy,直接不让它缓存不就完了,不缓存了,当然也就用不着刷新了。
示例:
复制代码 代码如下:

function doInsert2BatchCallBack() {
var pIf = parent.document.getElementById('IFRAME_A');
pIf.src = pIf.src + "&".concat(Math.random());
//提交批量导入请求
}