Hallo pb,
ich habe jetzt auch mal rumgespielt. Die Seiten werden in einem IIS gehostet (auf meinem Windows PC) und ich zeige sie mit Chrome an.
DAMIT gelingt der Zugriff beispielsweise über
<frameset>
<frame name="frame1" src="file1.html">
<frame name="frame2" src="file2.html">
</frameset>
In file1:
const otherFrame = parent.frames.frame2;
const dings = otherFrame.document.getElementById("dings");
dings.textContent = "bums";
Edit: Bugfixing nach Martins Hinweis
Natürlich geht das auch mit Forms und Form-Elementen.
Und es geht NICHT, sobald der Origin von file1 und file2 nicht übereinstimmt. Ich habe ein zweites Web gemacht, das nicht auf localhost hört, sondern auf 127.0.0.2. Es zeigt aber auf den gleichen Ordner. Und schon mault Chrome rum, dass er den Cross-Origin Zugriff unterbunden habe.
Beachte auch: Wenn Du die HTML Seiten nicht von einem Webserver lädst, sondern über file:///, wird der Zugriff grundsätzlich als cross-origin klassifiziert. Eine Demo für Messaging mache ich auch noch, dazu fehlt in unserem Wiki ohnehin noch ein Beispiel.
Rolf
sumpsi - posui - obstruxi