2012-03-22 91 views
3

如何檢查用戶計算機中是否有特殊字符?如何使用javascript檢查特殊字符支持?

例如:♥♦♣♠♪♫¶

如果用戶的瀏覽器不支持其中的一種,那麼一個矩形()會出現,而不是象徵。

+3

您檢查特定的字體。如果字體沒有定義特定的字形,計算機就不會輕視。 – 2012-03-22 18:40:33

+0

不確定,但我認爲這與HTTP標頭中的字符集有關,而不是瀏覽器或操作系統。 – user17753 2012-03-22 18:41:14

+0

如果您想檢查特定字體,可以嘗試以下技巧:http://lucassmith.name/2009/05/test-if-a-font-is-installed-via-javascript.html。除此之外,我不認爲除了查看用戶的屏幕以查看角色是否正確顯示以外,還有一種簡單的方法。 – 2012-03-22 18:43:11

回答

2

恐怕沒有辦法來測試它,並且增加了複雜性,即使一個角色可用,瀏覽器(尤其是IE)也可能無法呈現它。

另一方面,信息不是特別有用,除非也許是因爲如果不能將字符渲染爲字符,則可以將字符動態更改爲圖像。

讓角色正確呈現的更好方法是編寫樣式表,以便選擇合適的字體。這也解決了可能使用不適合整體設計的字體(例如基本複印文字字體)來顯示字符的問題。

例如,如果您需要字符♥♦♣♠♪♫¶,請選擇一個包含它們的字體以及您需要的所有其他字符。這可能會歸結爲

body { font-family: Arial, sans-serif; } 
+0

它不起作用,因爲符號不是字體家族的一部分。 – 2012-03-23 12:07:06

+0

@Danny Fox,請檢查http://www.cs.tut.fi/~jkorpela/test/symbols.html8 如果它顯示OK,正如我懷疑的那樣,那麼問題不在字體中,而可能在其他地方,例如在字符編碼。在這種情況下,即使是常見的非ASCII字母(如直接輸入)也可能無法正常工作,這很難成爲字體問題。你也可以通過測試當你輸入字符作爲參考時會發生什麼來驗證這一點:'♥ ♦ ♣ ♠ ♪ ♫ ¶'。 – 2012-03-23 13:21:12

+0

我在某些設備上測試過它,但如果符號不被支持,那麼引用也不起作用。 – 2012-03-23 16:35:29