LX: funktion nach vollständig geladenem iframe aufrufen

Beitrag lesen

Hallo!

ja ich weis schon das ich es mir vielleicht ein wenig einfach mache mit dem iframe. Doch es ändert sich gerne die Darstellung einzelner Daten, so daß ich froh bin dies per php hinbekommen zu können.

Im Gegenteil: Du machst es Dir schwieriger mit dem iframe. In PHP gibt es bspw. die Funktion json_encode, mit der Du Deine Daten für JSONp direkt aufbereiten kannst. Diese kannst Du wiederum über JS auswerten und per DOM Injection (also etwa node.innerHTML = formatiere(daten);) in die Seite schreiben.

Wenn Du trotzdem auf den iframe nicht verzichten willst, rufe in dessen Onload doch einfach eine Funktion im parent auf:

if (typeof parent.iframeloaded == 'function') {  
   parent.iframeloaded();  
}

Und in der umgebenden Seite kannst Du dann das entsprechende Gegenstück definieren:

function iframeloaded(){  
   alert('iframe geladen');  
}

Und es wäre ja toll wenn denn die komplette Seite zu sehen ist eine Funktion aufrufbar wäre. Und die iframe Seiten sind immer die Gleichen aus dem letzten Besuch.

Das liegt daran, dass die iframes im Cache landen. Das passiert bei AJAX und JSONp aber auch - solange sich nicht ein Parameter ändert oder per entsprechendem Header das Caching deaktiviert wird.

Gruß, LX

--
RFC 5984, Satz 7 (Security Considerations) (...) Terroristische Organisationen könnten die "Schlechte Nachrichten verbreiten sich schneller"-Schwachstelle aus RFC 1216 ausnutzen.