Как отменить скрипт в html
Как отключить javascript на сайте
Т.е., вроде бы, использование javascript призвано улучшить жизнь как разработчикам, так и пользователям. Однако, видимо, нет добра без худа. В данном случае оно, это «худо», проявляется путем злоупотребления некоторыми разработчиками разного рода технологиями javascript. В результате мы можем встретить страницы, которые следят, буквально, за каждым шагом пользователя. Страницы, которые периодически могут показывать пользователю «интересные» (с точки зрения разработчиков, конечно) сообщения и др.
Так вот, иной раз, страницы, выполненные с использованием «адаптивной верстки», попросту не хочется смотреть. Но, это лишь замечание вскользь, об адаптивной верстке поговорим как-нибудь в другой раз.
Но, тем не менее. Иногда возникает необходимость, по-быстрому отключив JS (чтобы, повторимся, не мешались некоторые «современные технологии»), просмотреть страницу сайта.
Возникает вопрос: как это сделать?
Рассмотрим возможные способы.
1. Отключение javascript на всех сайтах без исключения
Конечно, в разных браузерах это делается по-разному.
Раньше в браузере Firefox присутствовала такая возможность – имелась соответствующая кнопка. Нажав на которую, можно было легко заблокировать функциональность javascript – применительно к конкретной странице. Однако, к сожалению, начиная с версии 23, такую возможность из этого браузера убрали, теперь это реализуется через настройки. Рассмотрим, как это реализуется на примере браузера Firefox 24 и последующих версий.
Заходим в настройки, прописав в адресной строке браузера:
кстати, без пробела(!)
Как ее отыскать там?
Это свойство можно ввести (вставить через буфер обмена, нажав на клавиатуре Ctrl + C ) в строчку поиска – и тогда браузер сам найдет все строчки в настройках, содержащих его.
Видим, что установлено значение этого свойства, равное true (т.е. javascript может работать).
Например, Rambler-почта будет работать, как ни в чем ни бывало, равно как и иные сайты.
А некоторые сайты (как уже упоминавшаяся Rambler-почта) попросту будут неработоспособны.
2. Временное отключение javascript при помощи плагинов
Это дает возможность отключить javascript – по выбору – только на тех страницах, которые к тому вынуждают (т.е. выборочно, по желанию пользователя).
script src= » http://site.ru/script_file.js » type= «text/javascript» > script >
— почему-то не отключаются, все равно работают. Т.е. функциональность данного плагина оказывается какой-то половинчатой.
3. Отключение javascript при помощу букмарклета
Что такое букмарклет?
Это (англ. bookmarklet; bookmark — «закладка» и applet — «апплет») — небольшая JavaScript-программа, оформленная как javascript: URL и сохраняемая как браузерная закладка.
Обычно закладка служит для того, чтобы, кликнув по ней, открыть соответствующую страницу сайта. Тогда как букмарклет – это особая закладка: вместо перехода по указанной в ней ссылке она выполняет записанный в ней javascript-код.
Таким образом, после окончания работы этой команды в html-коде страницы (сформированном с учетом работы javascript ), тегов указанного вида не останется (даже если они и расположены в условных комментариях – это не имеет значения). Тем самым, странице почти НЕЧЕГО будет запускать, вне зависимости от планов тех, кто ее разработал. Соответственно, почти все ее интерактивность (и нужная, и ненужная) будет ликвидирована.
Этот метод донельзя лучше подходит в данном случае:
Кстати, после того, как добавлять на страницу будет уже ничего не нужно, следует закрыть запись, т.е. выполнить вызов
Дело в том, что в противоположном случае в некоторых браузерах (в том же Firefox ) вывод на страницу будет считаться незаконченным и индикатор загрузки страницы будет довольно продолжительно время вращаться, дезинформируя пользователя.
При этом связь страницы с сервером будет разорвана. И уже не будет возможности подгрузить на нее ненужные пользователю (посетителю вебстраницы) JS-скрипты.
Возможно ли отменить действие стороннего скрипта при клике?
Всем привет! У меня на сайте посредством стороннего скрипта подгружаются элементы, но на эти элементы в стороннем скрипте повешены функции при клике. Я пытался искал информацию в интернете, как отменить событие, но ничего не помогло, возможно в меру моих знаний.
Есть такой элемент .wff_action_map_button_conatiner
Моя функция срабатывает, но так же срабатывает и сторонняя и происходит не нужный мне переход на сторонний сайт.
Я кажется нашел в чужом скрипте этот кусок кода, но менять там соответственно я ничего не могу.
Простой 2 комментария
Только со второго клика срабытывает, т.е. видимо первый клик срабатывает событие стороннего скрипта и отменяется, а при втором клике уже срабатывает мой код window.location.href
Допустим простая ситуация, вам нужно убрать ивент на клик на кнопку,
создаешь кнопку document.createElement(input) (она создается в памяти пока ты ее недобавишь на страницу, собственно сюда можно добавлять потомков, настраивать события и прочее прочее, пока не добавишь их вдокумент, они не активны), проходишь по всем атрибутам кнопки node.attributes и устанавливаешь такие же атрибуты у созданной, затем удаляешь node.remove и добавляешь на ее место свою созданную
В принципе в каких то ситуациях можно наверное не удалять а только скрыть старый элемент, подправив ему значение класса и id (по которым идентифицируют скрипты), так как скопировать события типа onmousemove или другие наверное будет сложно, но попробуй, а самому их прописывать может оказаться трудоемко (скрипты придется анализировать).
Как удалить скрипт из WEB-страницы?
Есть один сайт (точнее даже далеко не один), с которым нужно работать, но который решил проводить агрессивную политику по показу рекламы. В теле страницы вставлен скрипт (тег script с указанным в src путем на внутреннюю js-страничку), который при загрузке страницы с помощью document.write открывает в нем страницу ad.yandex.ru с указанием текущей локации для редиректа. Если бы я был рядовым жителем РФ или БР, то и проблем не было. Но я живу в Украине, где все IP яндекса заблокированы всеми провайдерами.
Отключение выполнения всех скриптов приводит к неработоспособности сайта (авторизация и все такое). Если в исходнике увидеть адрес конкретного «рекламного скрипта» и заблокировать его чем-то типа adBlock, то можно некоторое время пользоваться сайтом. Но при создании новой сессии (а так же через некоторое время хождения по страницам) адрес «рекламного скрипта» изменяется и сайт снова бросает на заглушку невозможности открытия Яндекса в Украине.
Я уже даже попробовал такой вариант:
(function() <
‘use strict’;
window.document.write = function()
alert(‘test’);
for (obj in window.document.scripts) <
obj.remove();
>;
>)();
Если алерт поместить после цикла удаления скриптов, то он не сработает. Т.е. этот код удаляет все скрипты включая самого себя. Блин, какие-то они там больно умные 🙁
Возможно, придётся этот код запускать по таймеру, если скрипты будут динамически восстанавливать удалённые ноды.
Спасибо. Ваш скрипт помог!



