Ho una libreria di terze parti (mootools) che crea schede e ho google double click for publishers (dfp) che crea annunci. dfp crea gli annunci in un iframe, quindi lo script di tablature acquisisce un'ancora dell'iframe e "crea problemi" con esso per creare le schede. Il contenuto dell'iframe si perde nel processo.I contenuti di iframe scompaiono quando manipolati da mootools
Sto cercando un modo per far fronte a questo (ho provato a sparare alla roba di dfp dopo che le schede erano state caricate ma poi gli script di google si sono bloccati).
L'iframe proviene da un dominio diverso rispetto alla finestra padre, quindi tutto ciò che tenta di eseguire operazioni sugli elementi all'interno dell'iframe fallirà.
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]);
},
che sto assumendo 'var afferrare = $ (contenuto);' è il tuo contenuti iFrame, giusto? Cosa succede quando si traccia il codice? "Grab" contiene effettivamente il contenuto iFrame come previsto? In tal caso, mentre passi attraverso la tua funzione, dove si perde? –