【发布时间】:2011-02-10 11:09:11
【问题描述】:
我正在使用动态脚本标签和 JSON 加载远程数据。我在我的网站上显示的远程页面中有一个 div,我用它来加载内容。
问题是javascript函数在页面加载时看不到div,因为它是远程数据。如果我将超时设置为大约 300,它通常可以工作,并且我的 javascript 可以看到div。但有时它需要更长的时间并且会破坏 javascript。
我正在尝试这个:
function load_content() {
if (document.getElementById('remote_div') == null) {
setTimeout('load_content()', 300);
} else {
document.getElementById('remote_div').innerHTML = 'Content goes here'
}
}
但它只是不起作用。我做错了什么?
【问题讨论】:
-
为什么不使用 scriptElement.onload?
-
“remote_div”在哪里?如果它在 iframe 中,则您正在查询错误的
document对象。 (另外,您不必显式检查 null:if (document.getElementById('remote_div')) { ...就足够了。)
标签: javascript json dynamic scripting settimeout