我使用了一个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 ?>&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); } } }