PDA

View Full Version : فعال بودن یا نبودن جاوا اسکریپت روی مرورگر



emad_67
سه شنبه 14 آبان 1387, 22:55 عصر
سلام
من تو در مورد اینکه چه جوری میشه چک کرد که در مرورگر کاربر جاوا اسکریپت فعال هست یا نه جستجو کردم و در خیلی جاها گفته شده بود که از تگ noscript استفاده کنیم که این مورد برای پیام دادن به کاربر به درد میخوره. ولی من میخوام توی یه checkbox وقتی جاوا اسکریپت فعال نباشه خاصیت auto postback اون رو فعال کنم تا با انجام postback عملیاتی که قراره با جاوا اسکریپت در صورت علامت خوردن اون انجام بشه رو انجام بدم. حالا برای اینکار آیا راهی هست که چک کرد جاوا اسکریپت فعاله با نه؟

RoostaYeBekr
چهارشنبه 15 آبان 1387, 01:07 صبح
با سلام
:لبخندساده:
آره می شه این کار را کرد.
برنامه اش را برایتان فرستادم .
فقط یک مسئله هست :
ببینید در حالتیکه می خواهید AutoPostBack ، ترو شود و ضمنا اگر فرض کنیم که مرورگر ، جاوا اسکریپت را پشتیبانی می کند ، آنگاه به نظر من اگر به هر روشی در جاوا اسکریپت ، بخواهد به رویداد مورد نظر پاسخ داده شود ، آنگاه آن تیک داخل چک باکس خورده نمی شود . چون به نظرم اگر قرار باشد که خورده شود ، دیگر AutoPostBack اتفاق می افتد. البته رویداد مورد نظر اجرا می شود.

emad_67
چهارشنبه 15 آبان 1387, 08:56 صبح
خیلی ممنون
اما منظور من اینه که از سمت سرور چک کنم ببینم فعال هست جاوا اسکریپت یا نه؟ یعنی در حالت عادی قرار نیست auto postback فعال باشه و در صورتی که جاوا اسکریپت فعال نبود این خاصیت رو توی checkbox فعال میکنم.
البته الان متوجه شدم خود auto postback هم با جاوااسکریپت میاد و postback رو انجام میده یعنی در صورت غیر فعال بودن جاوا اسکریپت اگر auto postback رو هم true کرده باشم بازم postback انجام نمیشه.
من میخوام کاربر صرفا محدود به فعال بودن جاوا اسکریپت نباشه مثل همین سایت در قسمت ویرایش مطلب و جستجوی تاپیک که در صورت فعال نبودن جاوا اسکریپت صفحه رفرش میشه.
راه دیگه ای وجود داره؟

m.hamidreza
چهارشنبه 15 آبان 1387, 09:07 صبح
یه همچین کدی باید باشه:


Request.Browser.JavaScript

emad_67
چهارشنبه 15 آبان 1387, 09:10 صبح
یه همچین کدی باید باشه:
کد:
Request.Browser.JavaScript

این کد فقط چک میکنه که مرورگر جاوا اسکریپت رو support میکنه یا نه ولی enable یا disable بودن رو چک نمیکنه.

m.hamidreza
چهارشنبه 15 آبان 1387, 09:33 صبح
این کد فقط چک میکنه که مرورگر جاوا اسکریپت رو support میکنه یا نه ولی enable یا disable بودن رو چک نمیکنه.
آره؟ :لبخندساده:
خوب مگه اینکه بیای یه اسکریپت run کنی اگه اجرا شد بگی enable هست اگه نه بگی disable.

m.hamidreza
چهارشنبه 15 آبان 1387, 10:03 صبح
اینو ببین کمکی میکنه:
http://www.codeproject.com/KB/scripting/Javascript_Detection.aspx
البته فکر میکنم راه بهتری هم باشه...

emad_67
چهارشنبه 15 آبان 1387, 11:11 صبح
ممنون دوست عزیز
دیروز همه یه مقاله ای مشابه همین خوندم:
http://www.codeproject.com/KB/user-controls/CheckJavascriptEnabled.aspx

ظاهرا راهی به جز رفرش مجدد صفحه وجود نداره.
حالا از این گذشته با توجه به اینکه auto postback هم با غیر فعال بودن جاوا اسکریپت کار نمی کنه، آیا راهی وجود داره که من بفهمم checkbox تیک خورده؟
یعنی قراره با تیک خوردن این checkbox یه سری checkbox دیگه هم توی gridview تیک بخورن.

m.hamidreza
چهارشنبه 15 آبان 1387, 13:34 عصر
آیا راهی وجود داره که من بفهمم checkbox تیک خورده؟

آخه جاوااسکریپت نداری!

به نظر من تنها کاری که با توجه به شرایط شما میشه کرد اینه که چک کنی و از کاربر بخوای جاوااسکریپت مرورگرشو فعال کنه.

RoostaYeBekr
پنج شنبه 16 آبان 1387, 20:29 عصر
با سلام
ببین من یک برنامه ی دیگر برایت فرستادم . اگر فکر می کنی که باز هم آن چیزی که میخواهی ، نیست ، دقیقتر و جزئی تر درخواستت را بگو .

RoostaYeBekr
جمعه 17 آبان 1387, 11:12 صبح
ممنون دوست عزیز
دیروز همه یه مقاله ای مشابه همین خوندم:
http://www.codeproject.com/KB/user-controls/CheckJavascriptEnabled.aspx

ظاهرا راهی به جز رفرش مجدد صفحه وجود نداره.
حالا از این گذشته با توجه به اینکه auto postback هم با غیر فعال بودن جاوا اسکریپت کار نمی کنه، آیا راهی وجود داره که من بفهمم checkbox تیک خورده؟
یعنی قراره با تیک خوردن این checkbox یه سری checkbox دیگه هم توی gridview تیک بخورن.


با سلام
آره در این مورد هم راهی وجود دارد که متوجه شوی که کاربر ، روی چک باکس کلیک کرده . مثلا یکی از راه حل ها می تواند این باشد که وقتی کاربر چک باکسی را کلیک می کند ، یک متغیر بولین ( در سمت کلاینت ) ، ترو شود . بنابراین بعدها ، اگر این متغیر ، ترو بود ، پس کاربر ، روی چک باکس کلیک کرده . اگر فالس بود ، پس کاربر روی این چک باکس کلیک نکرده.
بعد در رابطه با این قضیه هم که گفتید :


قراره با تیک خوردن این checkbox یه سری checkbox دیگه هم توی gridview تیک بخورن

برای این یکی هم راه وجود دارد و من خودم قبلا این کار را کرده ام. همانطور که در پست دومم در این تاپیک گفتم ، من چون دقیقا نمی دانم که شما چه کار می خواهید بکنید ، راستش راهنمایی بیشتری نمی توانم بکنم. البته اگر جزئی تر بگوئید بهتر است.