Javascript iframe内容在由mootools操作时消失
我有一个第三方(mootools)库来创建标签,我有谷歌双击发布者(dfp)来创建广告。dfp在一个iframe中创建广告,然后标签脚本获取iframe的一个文件夹,并与之“混合”来创建标签。iframe的内容在此过程中丢失 我正在寻找一种解决方法(在加载标签后尝试启动dfp,但随后谷歌脚本崩溃) iframe是从不同的域到父窗口的,因此任何试图对iframe中的元素执行操作的操作都将失败Javascript iframe内容在由mootools操作时消失,javascript,iframe,mootools,Javascript,Iframe,Mootools,我有一个第三方(mootools)库来创建标签,我有谷歌双击发布者(dfp)来创建广告。dfp在一个iframe中创建广告,然后标签脚本获取iframe的一个文件夹,并与之“混合”来创建标签。iframe的内容在此过程中丢失 我正在寻找一种解决方法(在加载标签后尝试启动dfp,但随后谷歌脚本崩溃) iframe是从不同的域到父窗口的,因此任何试图对iframe中的元素执行操作的操作都将失败 addTab: function(text, title, content) { var grab
addTab: function(text, title, content) {
var grab = $(content);
var container = (grab || new Element('div'))
.setStyle('display', 'none')
.addClass(this.options.classContainer);
this.wrapper.adopt(container);
var pos = this.tabs.length;
var evt = (this.options.hover) ? 'mouseenter' : 'click';
var tab = {
container: container,
toggle: new Element('li').grab(new Element('a', {
href: '#',
title: title
}).grab(
new Element('span', {html: text})
)).addEvent(evt, this.onClick.bindWithEvent(this, [pos])).inject(this.menu)
};
if (!grab && $type(content) == 'string') tab.url = content;
this.tabs.push(tab);
return this.fireEvent('onAdded', [tab.toggle, tab.container, pos]);
},
每当iframe或其祖先与DOM断开连接时,iframe的内容将被清除,当它或其祖先重新插入时,iframe将重新加载。Firefox和Webkit中出现了这种异常行为,但我认为iFrame不会在IE上重新加载 作为一种解决方法,您需要找到一种方法对代码进行重新排序,以便只在选项卡脚本完成对容器的操作后添加iframe Chrome显然还有一个选项,如果您使用adoptNode而不是apendChild移动iframe,它会导致iframe不重新加载,但我不相信它是跨浏览器的
更多信息,请参见类似问题:我假设
var-grab=$(内容)
是您的iFrame内容,对吗?跟踪代码时会发生什么?“抓取”是否真的像预期的那样包含iFrame内容?如果是这样的话,当您逐步完成您的函数时,它会丢失在哪里?