我正在使用动态脚本标记和JSON加载远程数据。我在我的网站上显示的远程页面中有一个用于加载内容的div。
问题是javascript函数在页面加载时看不到div,因为它是远程数据。如果我设置一个大约300的超时,它通常工作,我的javascipt可以看到div。但有时需要更长的时间才能打破javascript。
我想这个:
function load_content()
{
if(document.getElementById('remote_div')==null)
{
setTimeout('load_content()', 300);
}
else
{
document.getElementById('remote_div').innerHTML = 'Content goes here'
}
}
但它似乎没有用......它有什么问题?
答案 0 :(得分:3)
您可能希望使用setInterval执行此操作。类似的东西:
var intrval = setInterval( function(){
if(document.getElementById('remote_div')) {
load_content();
clearInterval(intrval);
}, 50);
function load_content() {
//loading content here
}
这样您就不必估算加载时间。当在DOM树中找到div#remote_div时执行load_content。
根据评论编辑,忘了分配间隔,所以它确实不会清楚。
答案 1 :(得分:0)
您使用的是iframe吗?
如果是,请尝试
document.getElementById('YOUR_IFRAME_ID').contentWindow.document.getElementById('remote_div')