هل من الممكن للكشف عن دعم اللغة شرق آسيا؟
-
03-07-2019 - |
سؤال
وأنا أعمل على لعبة تحفيظ جافا سكريبت يتطلب أن الأحرف اليابانية ليتم عرضها. هل هناك طريقة عبر متصفح (ق) من الكشف عن الدعم للغات الآسيوية، أو اليابانية على وجه التحديد؟
وسيتم تعيين window.navigator.language إلى لغة المتصفح ولكن يخطئ من الناس الذين لا تقم بتعيين اليابانية كلغة برامج التصفح الخاصة بهم (؟).
المحلول
هل هناك طريقة عبر متصفح (ق) من الكشف عن الدعم للغات الآسيوية، أو اليابانية على وجه التحديد؟
اقتباس فقرة>هل تعني مجرد "هناك الخط الياباني مثبتة"؟ لأن الجانب الآخر الوحيد من "الدعم للغات الآسيوية" أن أنظمة التشغيل الحديثة يمكن أن يكون تكوينه هو أن تفعل مع ما إذا كان المحارف مثل التحول-JIS معروفة (ويعرف أيضا باسم قانون الصفحة 932 على ويندوز). ولكنك لا تحتاج عادة على أي حال منذ يمكنك فقط استخدام UTF-8 الذي هو أنظف بكثير ودعمها في كل مكان.
في عام لا يمكنك معرفة مباشرة ما إذا تم تثبيت خط لمجموعة حرف معين أو لا، ولكن هناك طرق ملتوية. مثل على سبيل المثال قياس حجم المقدمة من النص على الصفحة:
var half= document.createElement('span');
var full= document.createElement('span');
half.appendChild(document.createTextNode('\uFF71'));
full.appendChild(document.createTextNode('\u30A2'));
document.body.insertBefore(half, document.body.firstChild);
document.body.insertBefore(full, document.body.firstChild);
var havejapanesefont= half.offsetWidth!=full.offsetWidth;
document.body.removeChild(half);
document.body.removeChild(full);
وهذا يخلق مؤقتا العناصر التي تحتوي على نصف العرض، والعرض الكامل المتغيرات من كاتاكانا 'ا'. إذا كان الخط الياباني متاح كنا نتوقع منها أن تكون العروض المختلفة. إذا لا يوجد مثل هذا الخط، فإنها من المرجح أن يصدر في رموزا مماثلة 'حرف unrenderable "مع نفس العرض.
نصائح أخرى
قد يكون خادمك قادرة على التحقق من Accept-Charset
و> رأس، اذا كان احد لا يتضمن الأحرف اليابانية، وإعادة توجيه إلى صفحة تحذير. للأسف، كما يدل هذا الموضوع ورؤوس ليست متاحة للجافا سكريبت.