Можно ли отключить 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.