微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – 使用javascript更改iframe源

我使用了一个iframe:
<iframe style='width: 330px; height: 278px' scrolling='no' name="iframeId" class="advPlayer" id="iframeId" frameborder="0" src='../../player/iabpreview.PHP?adid=<?PHP echo $selectedAdIdx ?>&amp;autoplay=true'></iframe>

每当我点击< div>,我必须更改iframe的来源.我使用以下代码

if ($j.browser.msie) {            
  frames['iframeId'].window.location="../player/iabpreview.PHP?adid="+adId+"&autoplay=true";
}else {
  $j(".advPlayer").eq(0).attr("src","../player/iabpreview.PHP?adid="+adId+"&autoplay=true");    
}

这适用于Firefox,但不适用于Internet Explorer.

什么代码也可以用于Internet Explorer?

解决方法

你不应该用户的浏览器检测,而是特征检测.这是最安全的方式:
function SetIFrameSource(cid,url){
  var myframe = document.getElementById(cid);
  if(myframe !== null){
    if(myframe.src){
      myframe.src = url; }
    else if(myframe.contentwindow !== null && myframe.contentwindow.location !== null){
      myframe.contentwindow.location = url; }
    else{ 
      myframe.setAttribute('src',url); 
    }
  }
}

只需测试src属性是否可用.如果没有,测试内容窗口,最后一次尝试是setAttribute.

原文地址:https://www.jb51.cc/jquery/180270.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐