Tengo una biblioteca de terceros (mootools) creando pestañas y tengo google doble clic para editores (dfp) crear anuncios. dfp crea los anuncios en un iframe, luego el script de pestañas captura un anquestor del iframe y 'messes' con él para crear las pestañas. El contenido del iframe se pierde en el proceso.iframe contenido desaparece cuando es manipulado por mootools
Estoy buscando una forma de hacer frente a esto (intenté disparar las cosas dfp después de que las pestañas se habían cargado pero luego se bloquearon las secuencias de comandos de google).
El iframe pertenece a un dominio diferente al de la ventana padre, por lo que todo lo que intente hacer cosas con los elementos dentro del iframe va a fallar.
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]);
},
Asumo 'var = $ agarre (contenido);' es su contenido iFrame, ¿verdad? ¿Qué sucede cuando trazas a través de tu código? ¿"Grab" realmente contiene el contenido de iFrame como se esperaba? Si es así, a medida que avanzas en tu función, ¿dónde se pierde? –