2012-04-12 10 views
1

Wie kann ich RTL (von rechts nach links) Unterstützung für meine WYSIWYG-Editor enthalten. Ich habe bereits document.execCommand ('dirRTL', false, null) ausprobiert. Aber es funktioniert nicht. Aber wie kann Google Mail dies tun? Bin ich etwas fehltRTL-Unterstützung für WYSIWYG-Editor

Danke, Gautham

+0

seine Lösung hängt von der Art des Plug-in. – undefined

+0

, was Sie von Plugin meine ich ... Ich brauche eine reine JavaScript-Lösung :( –

+0

i Typ Ihres WYSIWYG-Editor bedeuten. Es ist besser mehr Details. – undefined

Antwort

0

gute Nachricht ist, dass die Betriebssysteme kümmern sich um die wirklichen Probleme, wenn es um RTL kommt (rechts nach links) Dokument Orientierungen. Sie müssen nur Ihre Elemente ausrichten, auf die Sie RTL anwenden möchten, und Text-Align zu RIGHT und Richtung zu RTL hinzufügen. Das tatsächliche Ergebnis sehen Sie nur, wenn Sie arabisch eingeben, da nicht nur die Schrift von rechts nach links beginnt, sondern auch deren Ausrichtung.

0

Das ist eine ziemlich alte Frage, jedenfalls habe ich gerade eine Lösung dafür implementiert, also teile ich es.

Ich verwende die bootstrap-wysihtml5-rails gem, die auf bootstrap3-wysiwyg Code basiert.

Der Editor mit einem iframe erstellt wird, ich so tun, was ist einfach:

<script> 
$(window).load(function() { 
    $('iframe.wysihtml5-sandbox').each(function(i) { 
    $(this).contents().find("body").css({'direction':'rtl', 'font-family':'Arial'}); 
    }); 
}) 
</script> 

(Ich benutze each Funktion, da ich mehrere Redakteure haben)

0

Beste Lösung: bearbeiten Datei: wysihtml5- 0.3.0.js und Zeile wysihtml5.dom.setAttributes finden und folgende Zeile hinzufügen: "direction": "rtl",

0

Für die Textrichtung in execCommand ist kein Befehl verfügbar.
Unten ist meine Lösung, die "insertHTML" verwendet, um eine HTML-Zeichenfolge an der Einfügemarke einzufügen.

//Consider tag as the name of the command to execute eg. bold,underline,justifyRight,... 
 

 
if(tag=='rtl' || tag=='ltr'){ 
 
    var s=document.getSelection(); \t \t \t 
 
    if(s==''){ 
 
     document.execCommand("insertHTML", false, "<p dir='"+tag+"'></p>"); 
 
    }else{ 
 
     document.execCommand("insertHTML", false, "<span dir='"+tag+"'>"+ document.getSelection()+"</span>"); 
 
    } 
 
}else{ 
 
    //Default 
 
    document.execCommand(tag,false,null); 
 
}

Verwandte Themen