2011-08-22 10 views
6

Chciałbym napisać z wdziękiem-poniżający kod, który używa glifu Webdings. Podobno Webdings jest jedną z tych czcionek, która jest universally available across platforms, ale nie chcę, aby przeglądarka wyświetlała czcionkę domyślną, jeśli z jakiegoś dziwnego powodu nie ma tam Webdings.Czy istnieje sposób na ukrycie tekstu, jeśli czcionka jest niedostępna?

Czy jest jakiś sposób to zrobić?

+1

Zamiast tego powinieneś użyć '@ font-face' do osadzenia czcionki zastępczej. To znacznie lepiej niż ukrywanie tekstu i działa w "wszystkich przeglądarkach". – thirtydot

+0

Masz rację - to naprawdę rozwiązanie najbardziej zgodne z duchem pytania. Napisz to jako odpowiedź, a ja to zaakceptuję. –

Odpowiedz

2

Jak powiedział w komentarz:

Zamiast tego należy użyć @font-face do osadzenia czcionki zastępczej. To znacznie lepiej niż ukrywanie tekstu i działa w "wszystkich przeglądarkach ".

Preferuję używać Font Squirrel Generator do obsługi @font-face. To sprawia, że ​​jest to bardzo, bardzo łatwe.

1

Tylko Flash pozwala wykryć, które czcionki są zainstalowane na komputerze. Jest tam blog, który pokazuje, jak uzyskać listę czcionek we Flashu i przekazać tę listę do JavaScript. Gdy masz go w JavaScripcie, to powinno być łatwe do ukrycia/pokazać tekst:

http://rel.me/2008/06/26/font-detection-with-javascript-and-flash/

+0

Interesująca odpowiedź i dobrze wiedzieć. –

2

Można zrobić coś takiego z jQuery:

$('p').each(function(){ 
    var s = $(this).css('font-family'); 
    if(s != "verdana"){ 
     $(this).hide(); 
    }  
}); 

Przykład: http://jsfiddle.net/jasongennaro/GXjvK/

Sprawdzasz, aby zobaczyć czcionkę dla elementu. Jeśli go tam nie ma, ukrywasz to.

+3

To nie działa - jeśli ustawisz CSS na Verdana i jeśli Verdana nie będzie faktycznie dostępna, jQuery nadal będzie zgłaszać CSS jako "Verdana". –

+0

Ten skrypt czyta z arkusza stylów, co nie wskazuje na dostępność czcionki. –

1

Nie ma natywnego sposobu sprawdzania dostępności czcionki w JavaScript.

Jednakże, ponieważ lalit zrealizował, ponieważ "każdy znak wygląda inaczej w różnych czcionkach, różne czcionki będą miały inną szerokość i wysokość dla tego samego ciągu znaków o tym samym rozmiarze czcionki".

Pisze się piękny artykuł i stworzył porządny kawałek kodu to zrobić tylko, że: http://www.lalit.org/lab/javascript-css-font-detect/

1

można użyć właściwości CSS3 mieć czcionkę na swojej stronie internetowej co oznacza, że ​​wszystkie osoby posiadające CSS3 kompatybilny przeglądarka internetowa zobaczy "tekst", jak chcesz.

@font-face { 
font-family: myFirstFont; /* in your case webdings */ 
src: url('Sansation_Light.ttf'), 
url('Sansation_Light.eot') format("opentype"); /* IE */ 
} 

Moim jedynym zmartwieniem teraz będzie o prawa autorskie, nie wiem, jeśli ma mieć prawa do tego czcionki, aby móc wykorzystać to w ten sposób ...

Powiązane problemy