امکانات بسیاری در تنظیمات مرورگرها و سایتها وجود دارد که کاربران میتوانند بهدلخواه خود آنها را تغییر دهند. اما برخی از این امکانات بر نحوه عملکرد برنامهها و نمایش سایتها تأثیرگذار هستند. JavaScript یکی از این برنامههاست که بسیاری از کاربران برای خلاص شدن از تبلیغات و یا سریعتر شدن بارگذاری سایت آن را غیرفعال میکنند، درحالیکه این کار عملکرد بسیاری از برنامهها و سایتها را مختل میکند.
این موضوع یکبار دیگر نیز در سال ۲۰۱۳ مطرح شد. در آن زمان مرورگر Mozilla تصمیم گرفت که گزینه «غیر فعال کردن JavaScript» را از منوی تنظیمات در Firefox ٢٣ حذف کند. دلایل آن به شرح زیر بود:
- بخش عمدهای از فضای جدید وب بدون جاوا اسکریپت دچار اختلال شدید میشد.
- کاربران را از فکر و نگرانی بیهوده رها میکرد. افراد کمی با جاوا اسکریپت آشنا هستند و حتی افراد بسیار کمتری نیاز به غیرفعال کردن آن دارند.
- آن دسته کاربرانی هم که واقعاً به غیرفعال کردن آن احتیاج دارند میتوانند تنظیمات مخفی را درجایی دیگر پیدا کنند.
آیا غیر فعال کردن JavaScript برای کاربران سودی دارد؟
بله میتواند فوایدی داشته باشد. بدون جاوا اسکریپت، شاهد فضای وب عاری از ابزارهای اضافه، تبلیغات، پنجرههای مزاحم، هشدارهای مربوط به کوکی و بسیاری از موارد آزاردهندهای خواهیم بود که امروزه با آنها روبرو هستیم.
افرادی هم هستند که با مشکلات ادراکی مواجه بوده و از روی ناچاری جاوا اسکریپت را غیرفعال میکنند. تعداد محدودی از سایتها به راهنمای دسترسی سایت توجه دارند. همین سبب میشود که سادهترین راه برای کم کردن افکتهای انیمیشنی و متحرک که بینظمی و سردرگمی ایجاد میکنند؛ غیرفعال کردن جاوا اسکریپت باشد.
محتوای مقالات به شکل عادی قابلمشاهده خواهند بود، اما نکته منفی این کار این است که بسیاری از اپلیکیشنهای وب بدون جاوا اسکریپت کار نمیکنند. برخی از آنها به شکلی ضعیفتر عمل خواهند کرد اما سایتهای خرید، نقشهها، بازیها و شبکههای اجتماعی از کار خواهند افتاد. سایتهای محتوایی که توسط فریمورکهای مدرن سمت کاربر اجرا میشوند، احتمالاً تنها صفحهای خالی نمایش خواهند داد.
آیا میتوانید از غیرفعال کردن جاوا اسکریپت توسط کاربران ممانعت کنید؟
پاسخ منفی است! صاحبان سایت یا توسعهدهندگان بههیچوجه نمیتوانند کاربران را مجبور به دانلود و اجرای جاوا اسکریپت کنند. مرورگرها فایلهایی را از سرور شما میگیرند؛ و کاربر میتواند از طریق تنظیمات مرورگر، روشهای پروکسی، پلاگینها یا راههای دیگر جلوی این کار را بگیرد.
همچنین اسکریپت شما میتواند تغییر دادهشده و یا امکانات خاصی از آن غیرفعال شوند. همیشه به یاد داشته باشید که کاربران کنترل را در اختیاردارند: این دستگاه و ارتباط متعلق به آنهاست. آنها هستند که به انتخاب خود از سایت شما دیدن میکنند و میتوانند هر آنچه نمیخواهند را حذف کنند.
آیا میتوانید از کاربرانی که جاوا اسکریپت ندارند پشتیبانی کنید؟
جاوا اسکریپت بسیار آسیبپذیر است و اسکریپتهای شما ممکن است به یکی از دلایل زیر دچار مشکل شوند:
- پاسخ ندادن درخواستهای HTTP
- درخواست کامل نشده باشد
- یک فایروال مانع پاسخ شده باشد
- مرکز ارائهدهنده سرویس مسدود شده یا اسکریپت را تغییر داده باشد
- یکی از پلاگینهای مرورگر اسکریپت را تغییر داده و یا جلوی عملکرد آن را گرفته باشد
- مرورگر از کد یا امکانات موردنیاز شما پشتیبانی نکند.
- اسکریپت دیگری باعث ایجاد خطای دیگری میشود که تمام اسکریپتهای در حال اجرا را از کار میاندازد
این مشکلات بهویژه در سیستمهای همراه که کاربر ممکن است در حال سفر باشد و به شبکهای با سرعت کم متصل باشد بسیار شایع هستند.
راهحل این مشکلات همچنان ارتقا و پیشرفت تصاعدی است. سادهترین HTML را ساخته و سپس آن را بعد از دانلود و اجرای فایلها با تصاویر، نوشتهها، CSS و جاوا اسکریپت ارتقا میدهید. جاوا اسکریپت شما میتواند تشخیص دهد چه زمانی API ها یا امکانات برایتان فراهم هستند تا بتوانید:
- از اجرای کدی که ممکن است منجر به یک ایراد شود خودداری کنید.
- کدهای Polyfill را بارگذاری کند تا بتوانند عملکرد یکسانی را اعمال کنند.
کاربران میتوانند تجربههای متفاوتی کسب کنند. آنهایی که از آخرین نسخه کروم روی کامپیوتر یا لپتاپ استفاده میکنند ممکن است بالاترین سطح عملکرد را به دست آورند. کاربرانی که از اوپرا مینی روی یک موبایل قدیمی بهره میبرند ممکن است یک صفحه با طراحی ساده و پایه داشته باشند. اما مهم این است که همه کاربران علیرغم تفاوتها، میتوانند یک نوع از عملکرد را داشته باشند و سایت یا برنامه برای همه قابلاستفاده خواهد ماند.
آیا Progressive Enhancement ارزش این همه زحمت را دارد؟
این تصمیمی است که به شما و اپلیکیشنی که میسازید بستگی دارد.
Progressive Enhancement یعنی توسعه وب سایت بر اساس حداقل فناوری ها و تکنیک های وب و برای فناوری های به روز تر، سایت را متناسب با آن بهبود و توسعه داد. در این استراتژی توسعه وب سایت از پایین ترین سطح آغاز می شود و سعی می کند خود را با با بالاترین سطح هماهنگ کند. استراتژی Progressive Enhancement برای سایتهای محتوایی و فروشگاههای آنلاین که نیاز به دسترسی به گستردهترین مخاطبان ممکن را دارند بسیار مناسب است. اگر بتوانید بهدرستی آن را اجرا کنید، به توسعه کمتری در آینده احتیاج داشته و از اتلاف وقت جلوگیری خواهد شد. همه مرورگرها صرفنظر از آپدیتهایی که درگذشته، حال یا آینده دریافت میکنند همواره به ارائه کردن سایت شما ادامه خواهند داد.
اپلیکیشنهای سادهتر نیز منافعی خواهند برد. اپلیکیشنی که پیامهایی را به یک شبکه اجتماعی ارسال میکند به چیزی بیش از یک HTML٥ ساده و پردازش نهایی احتیاج خواهد داشت. ارتقای تصاعدی با حذف کردن refresh، افزودن طرحها، اعمال تأیید ورودیها، فراهم کردن آمار، برطرف کردن ایرادات، امکان کار بهصورت آفلاین و مواردی از این قبیل باعث بهبود تجربه کاربری میشود.
ارتقای تصاعدی برای اپلیکشنهایی مانند نرمافزار آفیس، نقشهکشی، ویرایش تصاویر و بازیها که از رابط کاربری غنی برخوردار هستند آنقدر حیاتی نخواهد بود. یک راهحل HTML و CSS ممکن است بیشازحد برای اجراشدن سنگین باشند. با در نظر گرفتن این نکته، میتوانید حداقل یک پیام مثل «متأسفیم، شما به جاوا اسکریپت نیاز دارید» نمایش دهید.
بستن جاوا اسکریپت در سال ۲۰۱۷ و بعدازآن
این سؤال که «آیا باید کاربران اختیار غیرفعال کردن جاوا را داشته باشند؟» چندان متناسب نیست. طراحان هرقدر هم که تنظیمات پیشرفته را مخفی کنند، کاربران همیشه قادر به یافتن راهی برای جلوگیری از اجرای جاوا اسکریپت خواهند بود.
تنها مرورگر Microsoft Edge است که غیرفعال کردن جاوا اسکریپت را دشوار کرده است. شاید به این دلیل که جاوا اسکریپت بهجای آنکه یک عضو جدا افتاده از Edge باشد به جزئی جداییناپذیر از ویندوز ۱۰ تبدیلشده است. اگر آن را نمیخواهید میتوانید هر مرورگری که دوست دارید را نصبکرده و یا از یک پروکسی برای حذف فایلهای با پسوند.js استفاده کنید.
مرورگرهای مبتنی بر Blink از این هم فراتر رفته و این امکان را به کاربران میدهند تا بتوانند بهصورت انتخابی برای تکتک سایتها جاوا اسکریپت را فعال یا غیرفعال کنند. این امکان بسیار خوبی است اما کاربران بسیار معدودی ممکن است لیستهای سیاهوسفید از سایتها برای این موضوع تشکیل دهند.
طراحان و فروشندگان همواره به دنبال ارتقای کیفیت هستند. علیرغم تکیه گوگل بر تبلیغات، حتی مرورگر کروم هم بهزودی صاحب یک مانع تبلیغات در خود خواهد شد. قدم بعدی این است که بدانیم آیا فروشندگان میتوانند جاوا اسکریپت را در سایتهایی که کیفیت پایینی دارند بلوک کنند؟
در پاسخ باید گفت این کار را بهراحتی میتوان انجام داد، فقط کافی است یک لیست سیاه برای غیرفعال کردن جاوا اسکریپت در سایتهای موردنظر بسازند؛ دقیقاً مشابه کاری که با سایتهای مخرب و سیستمهای مسدود کردن تبلیغات انجام میدهند.
اگر این اتفاق رخ دهد، کاربران مجبور نخواهند بود بهصورت دستی جاوا اسکریپت را غیرفعال کنند بلکه مرورگر از بررسی آمار کیفیت سایت که از بازدید سایر کاربران بهدستآمده است برای تشخیص این تصمیم استفاده میکند. درنهایت چه بخواهیم چه نخواهیم شاید مجبور شویم از تکنیکهای اسکریپت نویسی برای این کار استفاده کنیم.
چگونه جاوا اسکریپت را غیرفعال کنیم
در اینجا به توضیح نحوه غیرفعال کردن جاوا اسکریپت در مرورگرها میپردازیم.
Google Chrome
شما میتوانید به دو روش جاوا اسکریپت را بهصورت انتخابی برای هر سایت غیرفعال کنید:
روش اول:
- بعد از وارد شدن به سایت روی آیکون site info در سمت چپ نوار آدرس کلیک کنید.
- از منوی بازشده میتوانید اجرای جاوا اسکریپت را در آن سایت فعال یا غیرفعال کنید.
روش دوم:
- از طریق آیکون منو که بهصورت سهنقطه در سمت راست بالای صفحه Settings را انتخاب کنید
- به پایین منو رفته و روی Advanced کلیک کنید
- در قسمت Privacy and security روی Content Settings کلیک کنید
- JavaScript را کلیک کنید
- روی Allowed (recommended) کلیک کنید تا به Block تغییر یابد
(android)Google Chrome Mobile
فرآیند مشابهی را میتوان روی نسخه موبایل مرورگر کروم انجام داد:
- از طریق آیکون سهنقطه و منوی بازشده Settings را انتخاب کنید
- روی Site Settings کلیک کنید
- JavaScript را انتخاب کنید
- روی Allow sites to run JavaScript (recommended) کلیک کنید تا به Blocked تغییر یابد
وقتی آن را بلوک کردید میتوانید URL سایتهای مستثنی را اضافه کنید.
Mozilla Firefox
- در نوار آدرس عبارت about:config را تایپ کرده و هر هشداری که ظاهر شد را تأیید کنید
- در کادر جستجو عبارت javascript را تایپ کنید
- روی enabled دو بار کلیک کنید تا به false تغییر یابد
- پنجره را ببندید و مرورگر را دوباره اجرا کنید
Safari (Mac OS)
- مرورگر را اجرا کرده و در منوی موجود در بالای صفحه روی Safari کلیک کنید
- Preferences را انتخاب کنید
- روی قسمت Security کلیک کنید
- علامت گزینه Enable JavaScript را در بخش Web content بردارید
Safari (iOS- iPhone and iPad)
- از صفحه خانه Settings را بازکنید
- به پایین رفته و روی Safari کلیک کنید
- در انتهای صفحه روی Advanced کلیک کنید
- دکمه مربوط به JavaScript را برای فعال یا غیرفعال کردن آن کلیک کنید.
Microsoft Edge (Windows ١٠)
جدیدترین نسخه ویندوز ۱۰ اجازه غیرفعال کردن جاوا اسکریپت را به شما نمیدهد.
برای انجام این کار در نسخههای قبل شما باید از بخش
Local Group Policy Editor: User Configuration > Administrative Templates > Windows Components > Microsoft Edge
گزینه Allows you to run scripts, like Java Script را به Disabled تغییر میدادید.
Microsoft Internet Explorer
میتوانید از طریق بخش Internet Options موجود در Control panel ویندوز یا منوی مرورگر IE جاوا اسکریپت را فعال یا غیرفعال کنید:
- به بخش Security بروید
- روی دکمه Custom level کلیک کنید
- به پایینتر و بخش Scripting بروید
- در Active scripting گزینه Disable را انتخاب کنید
- Ok را بزنید
Opera
- از آیکون منوی اوپرا Settings را انتخاب کنید
- هم میتوانید در منوی سمت چپ Websites را انتخاب کنید و هم در کادر جستجوی تنظیمات عبارت javascript را تایپ کنید
- Do not allow any site t orun JavaScript را انتخاب کنید
روی Manage Exception کلیک کنید و در اینجا میتوانید URL سایت یا عبارات باقاعدهای را اضافه کنید تا بهصورت خودکار جاوا اسکریپت را برای آنها فعال یا غیرفعال کند.
Vivaldi
مرورگر Vivaldi از همان موتور Blink که توسط کروم و اوپرا استفاده میشود بهره میبرد، اما نمیتوانید در نوار تنظیمات اصلی آن جاوا اسکریپت را پیدا کنید. برای غیرفعال کردن آن باید:
- بعد از ورود به سایت روی آیکون site info در سمت چپ نوار آدرس کلیک کنید
- از طریق این منو میتوانید جاوا اسکریپت را برای آن سایت فعال یا غیرفعال کنید
همچنین میتوانید تنظیمات کلی برای جاوا اسکریپت مشخص کنید:
- در انتهای بخش site info روی site settings کلیک کنید تا به تنظیمات Blink دسترسی یابید
- Do not allow any site to run JavaScript را انتخاب کنید
با کلیک بر روی Manage Exception میتوانید URL سایت یا عبارات باقاعدهای را اضافه کنید تا بهصورت خودکار جاوا اسکریپت را برای آنها فعال یا غیرفعال کند.
Brave
- روی لوگوی Brave در گوشه بالا سمت راست کلیک کنید
- برای غیرفعال کردن جاوا روی سایتهای مشخص، Block Scripts را روشن کنید
برای اعمال تنظیمات کلی:
- در پنجره ظاهرشده روی Edit default shield settings کلیک کنید
- به پنجره Preferences بروید
- گزینه Block Scripts (will break many sites) را فعال کنید
روشهای دیگر
در مجموعه افزونههای مرورگر خود جستجو کنید. افزونههای بسیاری وجود دارند که میتوانند برای فعالسازی، غیرفعال کردن، بازنویسی یا تغییر جاوا اسکریپت به شکلهای مختلف استفاده شوند.
اکثر ابزارهای توسعهدهندگان (بهجز مرورگر Edge) امکان غیرفعال کردن جاوا اسکریپت را به شما میدهند اما معمولاً صرفاً برای سایت و برنامهای که در آن زمان فعال است اعمال میشود.
نتیجهگیری
همانطور که بالاتر هم گفتیم، سؤال «آیا باید کاربران اختیار غیرفعال کردن جاوا را داشته باشند؟» در سال ۲۰۱۷ چندان متناسب نیست. کاربران همواره قادر خواهند بود جلوی عملکرد جاوا اسکریپت را بگیرند و فرقی هم ندارد که فروشندگان چقدر تنظیمات پیشرفتهشان را مخفی کرده یا جلوی چشم بگذارند؛ البته تعداد کمی از آنها این کار را میکنند. اینکه از کاربرانی که جاوا اسکریپت استفاده نمیکنند حمایت کنیم یا نکنیم تا حد زیادی به برنامهای که میسازید بستگی دارد. اما درهرحال این منطق حکم فرم است که: هرقدر محتوایتان بیشتر در دسترس باشد، مخاطبان بیشتری را میتوانید جذب کنید.