شما توی باکس گوگل، زبان کیبورد رو از انگلیسی به فارسی تغییر بدید، دیرکشن هم تغییر می کنه. منظور من اینه.من از فیس بوک استفاده نمیکنم. ولی گوگل کلا از روی ip موقعیت شما رو تشخیص میده. شما که خودت استادی.
یعنی به جاوا اسکریپت مربوط نمی شه؟گوگل یه مکانیزم تشخص زبان داره. البته صرفا با تغییر زبان ویندوز این کار انجام نمیشه. حتما باید حداقل یک کلمه تایپ بشه و بعد این اتفاق میافته.
سمت سرور چطور می شه زبان رو تشخیص داد؟حتما با جاوا اسکریپت این کار رو انجام میده. فقط کافیه شما بتونی زبانی که کاربر داره تایپ میکنه رو از روی کلمات نوشته شده تشخیص بدی. این کار با یه درخواست ajax و کدنویسی سمت سرور قابل انجام شدنه. وقتی زبان رو تشخیص دادی فقط کافیه که ویژگی direction رو برای textarea با جاوا اسکریپت تنظیم کنی.
سمت سرور چطور می شه زبان رو تشخیص داد؟
این همه زبان هست.
بنظرم از اطلاعات سیستم عامل استفاده می کنن.
اگر جاوا اسکریپت انقدر محدوده، چرا توی سایتهای دیگه این همه تبلیغ می کنن که مواظب سایتهای خطرناک و ... باشید.جاوا اسکریپت به هیچ عنوان دسترسی به سیستم عامل رو نداره. شما با جاوا اسکریپت حتی به حافظه clip board هم دسترسی نداری چه برسه به سیستم عامل کاربر.
می شه در این مورد توضیح بدید؟وب سابتهای خطرناک صرفا با جاوا اسکریپت نمیتونه روی سیستم شما کار خاصی انجام بده. اون سایتها از طریقهای دیگه برای کاربر خطرناک هستن.
<script>
var the = function(ele) {
if (/[\u00a1-\uFFFF]+/i.test(ele.value)) {
ele.style.cssText = "direction:rtl";
}
return false;
}
</script>
<input type="text" id="txt" onkeydown="the(this)"/>
پس این کار نیازی به درخواستهای آیجکس نداره و با جاوا اسکریپت هم می شه این کار رو انجام داد.روش کار همونی هست که دوستمون توضیح دادن یعنی شما باید کاراکترهای وارد شده توسط کاربر رو تشخیص بدید، و اگر نیاز direction تگ مورد نظر رو rtl کنید. البته در این مثالی که قرار دادم، تمامی کاراکترهای unicode رو در بر میگیره و ممکنه کاراکتر یونیکد باشه ولی در زبانی که استفاده میشه از راست به چپ نباشه! برای حل این مشکل هم می تونید فقط کاراکترهای فارسی رو در نظر بگیرید.