2011-05-30 179 views
-2

以下JavaScript在较早版本的Safari(Safari 3)中正常工作,但不在最新版本的Safari上。JavaScript适用于Safari 3,但不适用于较新版本

你能帮我找到问题吗?

function loadframe(){ 
    var iframeEl = document.getElementById("ifrm"); 
    if(!iframeEl) 
    { 
    window.alert('hellooooooo'); 
    var el = document.createElement("div"); 
    el.innerHTML = '<iframe id="ifrm" width="0" height="0" src=\'<!--EP CLASS="com.epiphany.presentation.ServerURLWriter" ACTION="campaign_segment_load" TEMPLATE="campaign\\campaign_segments" -->\' onload="dw_display(\'ifrm\',\'segmentspn\')" ></iframe>'; 
    document.body.appendChild(el); 
    return true; 
    } 
    return false; 
} 
+3

我想你将不得不提供一些关于奇怪标记应该做什么的解释。一般来说,只要问为什么某些事情“不起作用”,而没有说出**发生了什么事情,而发生**应该发生的事情,则不太可能得到很多答案。 – Pointy 2011-05-27 12:03:15

+0

而不是if(!iframE1)if(iframE1!= null && iframE1!= undefined)更好。请给出关于脚本和问题的更多解释。 – ehsun7b 2011-05-27 12:16:20

+0

而不是最新版本,最好提一下确切的版本号。 – ehsun7b 2011-05-27 12:18:57

回答

0
function loadframe() 
    { 
     var iframeEl = document.getElementById("ifrm"); 
     if(!iframeEl) 
     { 
     var el = document.createElement('div'); 
     var e2 = document.createElement('iframe'); 
     e2.src ="http://google.com"; 
     e2.setAttribute('id',ifrm); 
     e2.width= 80;  
     e2.height= 80;    
     document.body.appendChild(el); 
     el.appendChild(e2); 
     return true; 
     } 
     return false; 
    } 

这将工作在所有的浏览器,如iframe是另一个因素,我们应该使用DOM的方法添加它。

相关问题