Ich stimme Chroyier zu, dass postMessage nicht wirklich eine Alternative ist. Es bedeutet ja, dass die parent page den modalen Dialog für den iframe anzeigen muss. Gerade bei cross-origin iframes, für die die Restriktion zunächst gilt, ist es keine Alternative, denn die geframete Seite weiß ja ggf. gar nicht, dass sie im Frame läuft und rennt unerwartet vor die Wand.
Sowie ich den Beitrag verstehe bezieht sich der Vorschlag mit postMessage
nur auf den Sonderfall, dass weiterhin der Eindruck entstehen soll, ein Dialog eines iframes gehöre eigentlich zur Elternseite. In dem Fall finde ich es sinnvoll, dass die Entscheidungen darüber, ob und wie Dialoge von Drittanbietern dargestellt werden, bei der einbettenden Seite liegen. Mit postMessage
kann die Elternseite iframes eine Schnittstelle anbieten, um Dialoge anzufragen.
Der Regelfall dürfte aber sein, dass die eingebettete Seite ihren eigenen modalen Dialoge öffnet, und nicht das Branding der Elternseite übernehmen möchte. Darauf bezieht sich der Vorschlag mit postMessage
aber nicht.
Vielleicht missverstehe ich aber auch etwas, ich verstehe z.B. auch die Passage über dynamisch hinzugefügte <script>
-Elemente nicht. Ich sehe nicht, wo man die brauchen sollte.
Und die Gründe, die Croyier als Ursache für die Deprecation zitiert, klingen so, als wollte Google Realisierungsprobleme auf die Webdesigner abwälzen.
Also ich kann sowohl die Bedenken hinsichtlich Sicherheit als auch hinsichtlich Performance gut nachvollziehen. Ich verstehe aber auch auch die geäußerten Bedenken hisnichtlich "don't break the web". Deshalb bin ich auch noch unentschlossen, was ich davon halten soll.