parent.document.getElementById("…")在IE7中为空或不是对象
parent.document.getElementById("...") is null or not an object in IE7
我做了一些研究,但作为一个JavaScript新手,我似乎不能得到任何工作为我的具体情况:
我在页面中有一个iframe,并且在该iframe的文档中,我有以下代码:
function fun(){
var slideTitle = api.getField('title');
parent.document.getElementById("slidecaptionOoH").innerHTML = slideTitle;
在父文档中我有:<h4 id="slidecaptionOoH"></h4>
我试过在标签之间放一个注释,但我仍然在IE7中得到错误。页面显示良好,但显然我不想让人们看到错误。
嗯,我想我已经把问题的范围缩小了一点。我认为这可能与iframe文档的函数执行在父完成加载之前有关。我在父节点中使用treesver .js框架,这涉及到大量的DOM操作。当我关闭treesaver时,我不再收到错误。
所以我想我现在的问题是,我如何延迟函数,直到父完成加载?或者完全延迟iframe文档的加载?
你可以一直池化父节点,直到它加载了相应的子节点:
function fun(){
var slideTitle = api.getField('title');
var el = parent.document.getElementById("slidecaptionOoH");
if (el){
el.innerHTML = slideTitle;
} else{
setTimeout(fun, 50);
}
el = null;
}
但这只是一个(肮脏的)工作。
相关文章:
- "“;变量未引用正确的对象
- 如何创建js常量对象与"依赖/相对;价值观
- "属性描述必须是对象“”;错误
- 获取"下一个“;对象中的数值
- 得到"TypeError:对象不是函数“”;在forEach循环中使用超级测试/超级代理时
- "键“;jQuery中的对象无法正常工作
- 为什么下面抛出一个“;对象没有't支持属性或方法'importNode'"在IE11中
- "未捕获[对象对象]”;投掷和接球时
- "对象不是函数“;当将Node.js HTTP服务器对象传递给Socket.IO时
- 将对象设置为Backbone.js模型,而不必调用“;set()"在每一处房产上
- 得到"未捕获的类型错误:未定义的不是函数“;当试图从对象调用get()或set()时
- 获得错误“;对象没有方法'jScrollPane'"与AngularJS一起使用时
- "类型错误:'null'不是对象(正在评估“a.nodeType')”;在phanto
- "这个“;对象函数内部的引用
- "对象没有't支持这种性质或方法“;在IE 8中.在调试中执行精细
- "Function.createDelegate"原因;错误:对象没有't支持属性或方法
- 在javascript中,使用requireJS,我如何"要求“;typescript对象
- a href="上的javascript对象对象;javascript:"呼叫
- TypeError:undefined不是一个对象(正在评估'msg.innerHTML="Uploa
- "[对象对象]”;类型为String