日期:2014-05-17  浏览次数:20382 次

Jquery设定iframe的Src属性后,在IE6,7中iframe刷新不加载的问题
假设有界面A,A中有一个iframe标签。iframe的最初src指向B页面。
在B页面中通过window.top.document.getElementById('iframe的ID');获取到iframe对象后,通过Jquery设定对象的src属性
($(frameObj).attr("src", address);) 在FF中能跳转,IE 6 7 中点击时iframe刷新不加载
贴完整脚本
<script language="javascript" type="text/javascript">
  $(function() {
  $("#tblYBQK tr td a").click(function(evt) {
  var textStr = $.trim($(this).text());
  if (textStr == '无数据') {
  evt.stopPropagation();
  return false;
  }
  var tips = $.trim($(this).attr("tips"));
  if (tips.length == 0) {
  alert('tips参数配置不正确');
  evt.stopPropagation();
  return false;
  }
  var xmbhArr = tips.split(';');
  var frameObj = window.top.document.getElementById('frmDetails');
  if (frameObj) {
  var xw = xmbhArr[0];
  if ($.trim(xw).length == 0) {
  xw = 'nodata';
  }
  var tj = xmbhArr[1];
  if ($.trim(tj).length == 0) {
  tj = 'nodata';
  }
  var address = 'ClientUse/GraphData.aspx?xw=' + xw + '&tj=' + tj + '&gt=' + new Date().getTime();
  $(frameObj).attr("src", address);
  }
  }).focus(function() { this.blur(); })
  });
  </script>
希望各位大侠出招。小弟先在这里谢谢你们了。

------解决方案--------------------
frameObj 已经是对象了啊,还需要再找?

$(frameObj).attr("src", address);

直接 frameObj.src = address呢
------解决方案--------------------
缓存问题!
将一个随机参数即可,如:
var address="xxx.aspx?n="+ Math.random();
frameObj.setAttribute("src", address);