Можно ли отключить JQuery в браузерах?

Как видно из названия, можно ли отключить JQuery в браузерах?

Я написал функцию JQuery для своего веб-сайта и подумал, что если какой-либо пользователь отключит JQuery, как мы отключаем JS, то что мне для этого нужно сделать.

Мы отключаем JavaScript из настроек в нашем браузере, вот так, возможно ли отключить JQuery?

Я искал некоторое время по этим вопросам:

Отключить Jquery в определенных разделах

Можно ли отключить Javascript/Jquery из консоли браузера инспектора?

Но в первом вопросе пользователь запрашивает определенный раздел, а во втором вопросе пользователь запрашивает консоль. Поэтому я не мог найти правильный ответ на мой вопрос. Может кто-нибудь знает, возможно ли это. Если да, то как?

Благодарю вас.

5 ответов

Решение

Вы можете отключить jQuery в своем браузере, отключив JavaScript. jQuery - это просто библиотека, написанная на JavaScript, а не на своем языке.

Вы не можете отключить только jQuery, разрешив другой JavaScript в настройках браузера. Можно было бы написать расширение / надстройку браузера, которая бы это делала, но это было бы не очень полезно.

В комментарии вы сказали:

На самом деле я написал функцию jquery для своего сайта и подумал, что если какой-то пользователь отключит jquery, например JS, то что мне делать для этого.

Пользователь не будет специально отключать jQuery, но вполне может отключить JavaScript. (Это довольно редко в наши дни, но люди все еще делают это.) Если вы хотите сказать пользователю, что ваш сайт работает лучше, когда JavaScript включен, включите noscript содержание:

<noscript>
Your message goes here
</noscript>

Этот контент будет показан только пользователям с отключенным JavaScript (или в браузере, который вообще не поддерживает JavaScript).

Но странным образом вы должны это сделать.

jQuery(document).ready(function() {
   jQuery = null;
   $ = null;  // or undefined or 
   // delete jQuery; delete $;
});

Если другие методы уже инициализированы, это не поможет. Но дальнейшая реализация метода не сработает.

Включите другие методы или функции или привязки, если это должно произойти после этого.

$(document).on('click', function() {
  console.log("previous bind successfully working");
});

$(document).ready(function() {
  console.log('jquery enabled');
  delete jQuery;
  delete $;
  try {
    console.log($(document));
    console.log('jQuery', jQuery, $);
  } catch (e) {
    console.log(e, 'in catch block');
  }
  setTimeout(function() {
    try {
      $(document).on('click', function() {
        console.log("bind successfull with jquery");
      });
    } catch (e) {
      console.log(e, 'in catch block');
    }
  }, 100);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Если в браузере вы хотите сделать это, как я уже сказал, если однажды jquery инициализируется с функциональными возможностями, его очень трудно отсоединить. Если есть более поздняя ссылка на jquery, он не будет работать с приведенным выше кодом, если он запускается в консоли.

Если вы хотите отключить JQuery специально, один из вариантов будет сделать window.jQuery а также window.$ недоступно для записи до загрузки документа, возможно, с использованием скрипта пользователя. Например, следующий пользовательский скрипт отключает jQuery на странице этого вопроса, что приводит к множеству ошибок сценариев в Javascript SO, но не отключает другой Javascript, который не зависит от jQuery:

// ==UserScript==
// @name         Break-jQuery
// @namespace    CertainPerformance
// @version      1
// @match        https://stackru.com/questions/51807987/can-i-disable-jquery-in-browsers
// @run-at       document-start
// @grant        none
// ==/UserScript==

Object.defineProperty(window, 'jQuery', {
  value: undefined,
  writable: false
});
Object.defineProperty(window, '$', {
  value: undefined,
  writable: false
});

Но для этого нет особой причины - лучше либо полностью отключить Javascript, либо разрешить сайту использовать jQuery, если он этого хочет.

Ваша забота

Мы отключаем JavaScript из настроек в нашем браузере, вот так, возможно ли отключить JQuery?

Прямой ответ - НЕТ

Первый,
Вы должны понимать, что Javascript - это встроенный язык сценариев для Интернета.

Во-вторых,
jQuery - это просто библиотека, которая не встроена в браузер (это не функция браузера, как ее можно отключить в браузере?)



Кроме того, отключение jQuery(с помощью некоторых расширений, я не знаю) сделает практически все веб-сайты бесполезными

JQuery - это JavaScript. Поскольку это не особый тип языка и файл JQuery может быть присоединен к любому имени в документе HTML, его нельзя отключить.

Однако отключение Javascript отключит JQuery.

Другие вопросы по тегам