jQuery funktioniert in Chrome nicht ordnungsgemäß

8

Ich habe eine einfache jQuery-Funktion:

%Vor%

Wenn ein span-Element angeklickt wird (mousedown), erhält eine Eingabe (#family) ihren Schriftfamilienwert. Es funktioniert in FireFox, aber in Chrome funktioniert es nur für Schriftfamilien, die nur aus einem Wort bestehen. Georgien wird arbeiten, aber Times New Roman nicht.

Sie können den Code hier sehen:

Ссылка

oder leben Sie bei Ссылка

Was ist daran falsch? Danke

    
Mircea 27.05.2010, 10:08
quelle

3 Antworten

2

Sie können Ihr Skript leicht ändern, um die Anführungszeichen zu ersetzen, die WebKit hinzufügt, wenn der Name der Schriftart Leerzeichen enthält, beispielsweise:

%Vor%

Sie können hier eine funktionierende Demo sehen :)

Und hier ist ein RegEx-Ansatz, der den wörtlichen Wert aus style extrahiert, was wahrscheinlich einfacher ist als alles andere , aber ich bin es kein RegEx-Guru, jemand fühlt sich frei, dies zu verbessern und die Antwort zu aktualisieren (ich sucke RegEx, sorry!) Dies funktioniert für alle Beispiele, die Sie haben.

    
Nick Craver 27.05.2010, 10:18
quelle
7

Chrome umschließt Schriftfamilien mit mehreren Wörtern in einfachen Anführungszeichen. Der Wert für die in Chrome zurückgegebene Schriftfamilie lautet also: 'Times New Roman' , der nicht mit dem Wert in der Auswahlliste Times New Roman übereinstimmt.

In Anbetracht all dieser Browservariationen denke ich, dass die beste Lösung darin besteht, die Familiennamen durch Kommas auseinander zu schneiden, das einfache Zitat (falls vorhanden) um jeden Schriftartnamen zu schneiden und sie später zu verbinden. Verwenden Sie diesen bereinigten Wert in der Auswahlliste.

%Vor%

Sehen Sie sich ein Beispiel an. Die Auswahlliste musste geändert werden, um diesem konsistenten Namensschema für Werte zu folgen:

fontName[, fontName]

Dies hängt stark davon ab, dass ein font-name nicht ein Komma enthält, in Anführungszeichen oder in Anführungszeichen.

    
Anurag 27.05.2010 10:14
quelle
-1

Font-family gibt eine Liste kommagetrennter Werte an, nicht die verwendete Schriftart. Es kann auch den Wert in Anführungszeichen geben. Auf Ihrer Beispielseite gibt das Hinzufügen der Zeile alert(ff) Folgendes:

'Times New Roman'

Georgia

adage-script-1, adage-script-2

    
Eric 27.05.2010 10:13
quelle

Tags und Links