jquery – 使用javascript更改iframe源

前端之家收集整理的这篇文章主要介绍了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.

猜你在找的jQuery相关文章