چپ چین و راست چین کردن اتوماتیک !

i-php-i

Active Member
توی گوگل و فیسبوک و ... وقتی توی یه فیلدهای متنی فرمها متن رو از فارسی به انگلیسی تغییر می دیم، دیرکشن هم به صورت اتوماتیک تغییر می کنه.

این کار چطور انجام می شه؟
 

omid_p30

Member
من از فیس بوک استفاده نمی‌کنم. ولی گوگل کلا از روی ip موقعیت شما رو تشخیص میده. شما که خودت استادی.

 

i-php-i

Active Member
من از فیس بوک استفاده نمی‌کنم. ولی گوگل کلا از روی ip موقعیت شما رو تشخیص میده. شما که خودت استادی.
شما توی باکس گوگل، زبان کیبورد رو از انگلیسی به فارسی تغییر بدید، دیرکشن هم تغییر می کنه. منظور من اینه.

آی پی که بحثش جداست.
 

omid_p30

Member
گوگل یه مکانیزم تشخص زبان داره. البته صرفا با تغییر زبان ویندوز این کار انجام نمیشه. حتما باید حداقل یک کلمه تایپ بشه و بعد این اتفاق می‌افته.
 

i-php-i

Active Member
گوگل یه مکانیزم تشخص زبان داره. البته صرفا با تغییر زبان ویندوز این کار انجام نمیشه. حتما باید حداقل یک کلمه تایپ بشه و بعد این اتفاق می‌افته.
یعنی به جاوا اسکریپت مربوط نمی شه؟

لطفا توی این تاپک هم نظرتون رو بگید:
http://forum.majidonline.com/showthread.php?t=181012
 

omid_p30

Member
چرا.
حتما با جاوا اسکریپت این کار رو انجام میده. فقط کافیه شما بتونی زبانی که کاربر داره تایپ می‌کنه رو از روی کلمات نوشته شده تشخیص بدی. این کار با یه درخواست Ajax و کدنویسی سمت سرور قابل انجام شدنه. وقتی زبان رو تشخیص دادی فقط کافیه که ویژگی direction رو برای textarea با جاوا اسکریپت تنظیم کنی.

 

i-php-i

Active Member
حتما با جاوا اسکریپت این کار رو انجام میده. فقط کافیه شما بتونی زبانی که کاربر داره تایپ می‌کنه رو از روی کلمات نوشته شده تشخیص بدی. این کار با یه درخواست ajax و کدنویسی سمت سرور قابل انجام شدنه. وقتی زبان رو تشخیص دادی فقط کافیه که ویژگی direction رو برای textarea با جاوا اسکریپت تنظیم کنی.
سمت سرور چطور می شه زبان رو تشخیص داد؟
این همه زبان هست.

بنظرم از اطلاعات سیستم عامل استفاده می کنن.
 

omid_p30

Member
سمت سرور چطور می شه زبان رو تشخیص داد؟
این همه زبان هست.

بنظرم از اطلاعات سیستم عامل استفاده می کنن.

جاوا اسکریپت به هیچ عنوان دسترسی به سیستم عامل رو نداره. شما با جاوا اسکریپت حتی به حافظه Clip board هم دسترسی نداری چه برسه به سیستم عامل کاربر.
فکر نکنم خیلی سخت باشه.
فقط کافیه متن نوشته شده توسط کاربر رو parse کنی. حتی از روی کد کاراکترها هم میشه تا حدودی به زبان پی برد.
به طور مثال کاراکترهای 'ا' تا 'ی' کد اسکی خاص خودشون رو دارن. از روی همینا میشه حدس زد که زبان حداقل فارسی یا عربی باشه.
 

i-php-i

Active Member
جاوا اسکریپت به هیچ عنوان دسترسی به سیستم عامل رو نداره. شما با جاوا اسکریپت حتی به حافظه clip board هم دسترسی نداری چه برسه به سیستم عامل کاربر.
اگر جاوا اسکریپت انقدر محدوده، چرا توی سایتهای دیگه این همه تبلیغ می کنن که مواظب سایتهای خطرناک و ... باشید.

مگه یه سایت با جاوا اسکریپت توی سایستم یا مرورگر ما چه کاری خطرناکی می تونه انجام بده؟
 

omid_p30

Member
وب سابت‌های خطرناک صرفا با جاوا اسکریپت نمی‌تونه روی سیستم شما کار خاصی انجام بده. اون سایت‌ها از طریق‌های دیگه برای کاربر خطرناک هستن.
البته با جاوا اسکریپت میشه یه سایت که از لحاظ امنیتی مشکل دار باشه رو هک کرد ولی روی سیستم کاربر تاثیر خاصی نمیشه گذاشت.
 

i-php-i

Active Member
وب سابت‌های خطرناک صرفا با جاوا اسکریپت نمی‌تونه روی سیستم شما کار خاصی انجام بده. اون سایت‌ها از طریق‌های دیگه برای کاربر خطرناک هستن.
می شه در این مورد توضیح بدید؟
 

eAmin

Well-Known Member
روش کار همونی هست که دوستمون توضیح دادن یعنی شما باید کاراکترهای وارد شده توسط کاربر رو تشخیص بدید، و اگر نیاز direction تگ مورد نظر رو rtl کنید. البته در این مثالی که قرار دادم، تمامی کاراکترهای unicode رو در بر میگیره و ممکنه کاراکتر یونیکد باشه ولی در زبانی که استفاده میشه از راست به چپ نباشه! برای حل این مشکل هم می تونید فقط کاراکترهای فارسی رو در نظر بگیرید.
میتونید از وبسایت رسمی یونیکد محدوده کاراکتر فارسی و عربی رو در بیارید.
کد:
<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)"/>
 

i-php-i

Active Member
روش کار همونی هست که دوستمون توضیح دادن یعنی شما باید کاراکترهای وارد شده توسط کاربر رو تشخیص بدید، و اگر نیاز direction تگ مورد نظر رو rtl کنید. البته در این مثالی که قرار دادم، تمامی کاراکترهای unicode رو در بر میگیره و ممکنه کاراکتر یونیکد باشه ولی در زبانی که استفاده میشه از راست به چپ نباشه! برای حل این مشکل هم می تونید فقط کاراکترهای فارسی رو در نظر بگیرید.
پس این کار نیازی به درخواستهای آیجکس نداره و با جاوا اسکریپت هم می شه این کار رو انجام داد.
 

omid_p30

Member
این الگوریتم ساده‌ترین روشی که میشه استفاده کرد. در این روش نیازی به ajax نیست.
 

جدیدترین ارسال ها

بالا