Ich verwende derzeit einen IFrame, um von Benutzern generierte Inhalte auf einer Website zu sandboxieren. Dies beseitigt jegliche Styling-Probleme mit unseren Haupt-Stylesheets.Erzwinge eine beliebige HREF in einem IFrame, um das übergeordnete Element als Ziel zu verwenden
Wenn jedoch ein Benutzer eine Verknüpfung mit unserem Rich-Text-Editor erstellt, möchten wir, dass die Verknüpfung im übergeordneten Element geöffnet wird und nicht nur die Verknüpfung im IFrame geöffnet wird. Ich weiß, dass Sie ein Ziel für den Eltern festlegen können, aber wir haben keine Kontrolle über den Benutzer und was sie in ihren Inhalt eingeben.
Gibt es eine Möglichkeit, die HREFs innerhalb des IFrame zu entführen, so dass sie alle Eltern ansteuern, ohne sie zu modifizieren? Oder benutze ein bisschen Javascript, das universell injiziert werden kann, so dass ich nicht den ganzen Inhalt durchforsten muss und das Ziel programmatisch ersetzen muss?
Idealerweise wäre ein einfaches Skript an einer Stelle die beste Lösung.
Gedanken?
END LÖSUNG
benutzte ich eine Variation der Antwort, die ich ausgewählt ... Es hat mich in die richtige Richtung.
<script>
Event.observe(window, 'load', function() {
$$('a').each(function(e) {
e.writeAttribute('target', '_parent');
});
});
</script>
Das ist in der IFrame mit dem Inhalt. Es war am Ende die einfachste Lösung für die Aufgabe.
Pardon meine Unwissenheit und Mangel an Javacript-fu, aber dieses Stück Code gegeben, scheint es, es baut einen IFrame und den Inhalt im Inneren, richtig? Wo kommt das Zwingen des Ziels auf HREFs ins Spiel? Ihre Antwort vor der Bearbeitung hat mir ein wenig mehr Sinn gemacht. – mwilliams
Ahhhh ok, ich kann nicht mit deinen Bearbeitungen Schritt halten :) Werde das mal versuchen ... Danke! – mwilliams
Ich neige dazu, zu bearbeiten ... viel. Hauptsächlich wegen der schnellen Geschwindigkeit der Foren –