我刚刚发现我的问题的根源是父 HTML 调用子 IFRAME 中的控件但速度太快了,有时,超级onLoad在子onLoad有机会添加内容之前尝试这样做DOM。
我能做些什么呢?
我试图在孩子的onLoad中设置某种反馈。惨遭失败,有这么多奇怪的错误,花花公子可以总结出来,请不要。
我试图设置一个延迟器,它是史诗般的丑陋且不是 100% 可靠的。
编辑:
在onload
我这样做:
var stuff = getReferenceToStuff();
var someDiv = stuff.contentWindow.document.getElementById("someDiv");
someDiv.className = "classy";
问题是有时引用someDiv为空,有时(通常当我按 F5 重新加载页面时)它指向正确的元素。我知道这是因为 IFRAME 的内容有点慢。
所以我的问题是这样的。如何确保onload被推迟,直到嵌入式 IFRAME 组件的onload确保它已被加载并且所有组件都在那里?