Javascript mit Ersetzen Methode in einem iframe

8

Ich frage mich, ob es möglich ist, plötzliche Wörter innerhalb eines iframe zu ersetzen.

Ich habe jQuery verwendet, um den Inhalt in iframe mit demselben Inhalt, aber mit Ersatz zu ändern. Das Problem hierbei ist, dass "der Cursor auf den Anfang des Eingabefeldes zurückgesetzt wird", so dass Sie erneut von Anfang an schreiben müssen.

Also hier ist was ich getan habe

%Vor%

Die Frage ist: Wenn Sie einen Teil des Inhalts im Iframe ersetzen können, ohne dass der Cursor zurückgesetzt wird, weil das beim Tippen nicht erwünscht ist und es erst wieder von vorne beginnt.

Update: Im Grunde ist es nicht der Textbereich, der im Fokus ist, er ist im Iframe versteckt, deshalb verwende ich document.designMode = 'On'; .

Ich habe den Beitrag erneut aktualisiert, so sollte es von Anfang an gewesen sein.

Wie gewünscht Link zu jsfiddle: Ссылка

    
Frederik 05.01.2016, 08:43
quelle

1 Antwort

2

Die Arbeit mit iFrames in derselben Domäne unterscheidet sich nicht wesentlich von der Arbeit mit DOM-Elementen. Sie müssen nur sicherstellen, dass die Methoden, die Sie verwenden, im richtigen Fenster und Dokument -Objekt aufgerufen werden. Wenn Sie jedoch das Fenster und das Dokument richtig ausgerichtet haben, können Sie sie im übergeordneten Fenster genauso aufrufen, als ob sie sich im selben Fenster wie Ihr Skript befänden.

Wie beim Ersetzen während der Eingabe gibt es mehrere Möglichkeiten. Eine Möglichkeit wäre, document.execommand ('insertText') und Auswahl zu verwenden. Sie erkennen, ob der eingegebene Schlüssel mit dem letzten Zeichen des zu ersetzenden Worts übereinstimmt, wenn dies der Fall ist, wählen Sie die Länge des zu ersetzenden Worts aus und prüfen Sie, ob es übereinstimmt. Wenn es übereinstimmt, rufen Sie execCommand auf und es ersetzt es, wobei der Cursor am Ende der Ersetzung verbleibt.

%Vor%

Zypern

    
Julien Grégoire 10.01.2016, 17:04
quelle