احسان
3 سال پیش توسط احسان مطرح شد
3 پاسخ

چک کردن چرخش صفحه نمایش در وب

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


ثبت پرسش جدید
امین محمدزاده
تخصص : برنامه نویسی وب - Laravel
@amin.webdesign 3 سال پیش مطرح شد
0

نیازی نیست هر ثانیه چک کنید.
شما ابتدا میای یه عرض تعریف میکنی مثلا 740 پیکسل. خب؟ ابتدای کار که کاربر وارد صفحه میشه باید چک کنی که کاربر در حالت عریض وارد شده یا عمودی. اگه مثلا عرض صفحه که با جاوااسکریپت در ابتدای بالا اومدن سایت میگیری از 740 خیلی بالاتر بود مثلا میگی اگه بیشتر از 800 بود به کاربر بگو که گوشی رو عمودی بگیره.
حالا اومدیم و کاربر در ابتدای ورود به سایت با حالت عمودی اومد و بعدا خواست افقی کنه گوشی رو اونموقع با استفاده از کد زیر میای لحظه تغییر سایز رو تشخیص میدی .

$(window).resize(function() {
    console.log('content dimension changed');
}); 

این کد بلافاصله بعد از اینکه عرض تغییر پیدا کنه تشخیص میده. توی این کد هم باز میای عرض صفحه رو میگیری و اگه از عدد مثلا 800 بزرگتر بود به کاربر میگی گوشی رو عمودی کن


امین محمدزاده
تخصص : برنامه نویسی وب - Laravel
@amin.webdesign 3 سال پیش آپدیت شد
0

سلام. برای اینکه بتونید به کاربر هشدار چرخش بدید باید ابعاد صفحه جاری رو با استفاده از جاوااسکریپت بگیرید و با اعداد ابعاد حالت عمودی مقایسه کنید اگه بیشتر از اون شد به کاربر هشدار بدید. که البته فقط باید عرض صفحه رو بررسی کنید و با ارتفاع کاری نداشته باشید.
در مورد دریافت نوع دستگاهش هم باید از طریق user agent بررسی کنید که در این مورد جستجو کنید ببینید در زبان هایی که میخواید کار کنید چطور نوع دستگاه رو از داخل user agent استخراج میکنن. استخراج نوع دستگاه و مرورگر از user agent با استفاده regex ها یا عبارات باقاعده انجام میشه.


احسان
@ehsanbala65 3 سال پیش مطرح شد
0

@amin.webdesign
ینی میفرمایید یه فانکشن بنویسم ک هر ثانیه چک کنه عمودی یا افقی بودن رو؟؟؟


امین محمدزاده
تخصص : برنامه نویسی وب - Laravel
@amin.webdesign 3 سال پیش مطرح شد
0

نیازی نیست هر ثانیه چک کنید.
شما ابتدا میای یه عرض تعریف میکنی مثلا 740 پیکسل. خب؟ ابتدای کار که کاربر وارد صفحه میشه باید چک کنی که کاربر در حالت عریض وارد شده یا عمودی. اگه مثلا عرض صفحه که با جاوااسکریپت در ابتدای بالا اومدن سایت میگیری از 740 خیلی بالاتر بود مثلا میگی اگه بیشتر از 800 بود به کاربر بگو که گوشی رو عمودی بگیره.
حالا اومدیم و کاربر در ابتدای ورود به سایت با حالت عمودی اومد و بعدا خواست افقی کنه گوشی رو اونموقع با استفاده از کد زیر میای لحظه تغییر سایز رو تشخیص میدی .

$(window).resize(function() {
    console.log('content dimension changed');
}); 

این کد بلافاصله بعد از اینکه عرض تغییر پیدا کنه تشخیص میده. توی این کد هم باز میای عرض صفحه رو میگیری و اگه از عدد مثلا 800 بزرگتر بود به کاربر میگی گوشی رو عمودی کن


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام