我在this page上的排行榜(顶部横幅)上应用了一些样式时遇到了问题,这是异步加载的。我尝试过使用window.onload,但是当我使用getElementById时,它仍然会返回null。而且我无法访问网页,我无法将脚本移到底部(在结束标记之前)。
这是排行榜,以iFrame格式加载:
<div class="adWrapperFlightId" id="sas_18258_38503">
<iframe src="http://content.aimatch.com/cent/3/Hornmann_Aktualne_branding_leaderboard.swf.html?click=http://a.centrum.cz/cent/adclick/FCID=38503/fcid=38503/relocate=&clickTAG=http://a.centrum.cz/cent/adclick/FCID=38503/fcid=38503/relocate=" scrolling="no" allowtransparency="true" marginwidth="0" marginheight="0" vspace="0" hspace="0" noresize="true" frameborder="0" align="left" style="border: 0px none; padding: 0px ;margin: 0px; float:none;" width="1180" height="210"></iframe>
</div>
这是脚本,我想申请:
<script type="text/javascript" id="scriptborder">
(function(window, document, undefined){
var border = 'yup';
window.onload = init;
function init(){
if (""!==border) {
var e="1180";
var r = "210";
var t=parent.document.getElementById("sas_18258_38503").parentElement;
t.insertAdjacentHTML("afterbegin",'<div id="iframeborder"></div>');
borderYes=parent.document.getElementById("iframeborder");
borderYes.style.cssText="border: 1px solid silver; padding: 0px ;margin: 0px; float:none;width:"+(e-2)+"px;height:"+(r-2)+"px;background-image:url('http://i0.cz/reklama/bo/transparent.png');position: absolute;cursor: pointer;";
borderYes.setAttribute("onclick","window.open('http://a.centrum.cz/cent/adclick/FCID=38503/fcid=38503/relocate=', '_blank');");
}
}
})(window, document, undefined);
</script>
我知道这个问题可能是重复的,但是我还没有发现任何应用于异步加载的iframe,...或者我在Javascript中是新手,这也是事实。
感谢您的任何反馈!
答案 0 :(得分:0)
我不确定原始JavaScript,但这是我使用jquery
$( “#myIframeId”)。负载(函数(){ 打回来( //这是您的回拨代码
});
希望有所帮助
答案 1 :(得分:0)
1)borderYes是否正确启动?从代码的外观来看,borderYes应该是一个元素对象?我没有在你发布的代码中看到“var borderYes = document.getElementById('elemID')”或类似内容。也许你在代码中的其他地方实例化了borderYes。
2)我从未见过或听说过parent.document.getElementById('elemID')的对象层次结构。我希望它只是document.getElementById('elemID'),省略“parent”。
“parent”是每个元素都具有的属性,包含对包含该元素的“父”对象的对象引用。