Squeak.ru - шаблоны программирования

Отключить редактирование скриптов в инструментах разработчика Chrome

Я использую инструменты разработчика Chrome для отладки своего кода JavaScript, но у меня есть одно недовольство тем, как Chrome позволяет редактировать файлы JavaScript на вкладке «Сценарии». Иногда я не осознаю, что нахожусь в Chrome, и начинаю вносить изменения в код на вкладке «Сценарии», но при обновлении понимаю, что только что внесенные изменения никогда не сохранялись на диск!

Мне было интересно, есть ли способ сделать код, показанный на вкладке «Сценарии», доступным только для чтения, чтобы, если я попытаюсь отредактировать файл в Chrome, я увидел, что он не редактируется, а затем понял, что я не в моем ИДЕ.


  • Как вы не понимаете, что находитесь в своей среде IDE? 14.10.2015
  • белый фон и экран, полный окон 03.06.2017

Ответы:


1

Используйте следующий процесс, чтобы сделать источник скрипта доступным только для чтения в Chrome 32+:

  • Перейдите по URL-адресу chrome://flags/#enable-devtools-experiments.

  • Выберите Разрешить темы пользовательского интерфейса.

  • Откройте инструменты разработчика Chrome

  • Выберите «Настройки» (нажмите F1 или нажмите на три точки справа)

  • Выберите Разрешить темы пользовательского интерфейса.

  • Создайте тему DevTools в следующем стиле:

    .content-view.script > .text-editor { -webkit-user-modify: read-only !important; }
    
  • Опубликуйте его в Интернет-магазине Chrome.

  • Установите тему

  • Перезапустите Chrome

Ссылки

Используйте старый процесс для Chrome 31-:

Используйте таблицу стилей пользователя, чтобы полностью отключить вкладку сценария:

.toolbar-item.scripts { display:none !important; } /* Hide Scripts Tab */

Или просто сделайте источник скрипта доступным только для чтения:

.text-editor-editable { -webkit-user-modify: read-only !important; } /* Old selector */
.content-view.script > .text-editor { -webkit-user-modify: read-only !important; } /* Older selector */
.editing { -webkit-user-modify: read-only !important; } /* Generic Selector */

Вот несколько возможных местоположений файла:

  • Windows 7 Chromium:
    • %LOCALAPPDATA%\Chromium\User Data\Profile 1\User StyleSheets\Custom.css
  • Windows 7 Chrome:
    • %LOCALAPPDATA%\Google\Chrome\User Data\Default\User StyleSheets\Custom.css
  • OSX Chrome:
    • /Users/YourUsername/Library/Application Support/Google/Chrome/Default/User StyleSheets/Custom.css
  • Ubuntu Chrome:
    • ~/.config/chromium/Default/User\ StyleSheets/Custom.css

Используйте следующий URL-адрес Chrome Devtools для ссылки на соответствующие стили:

хром-devtools://devtools/devTools.css

22.08.2012
  • Это не отключает локальное редактирование файлов сценариев. И теперь в бета-версии сам файл сценария фокусируется на КАЖДОЙ точке останова, что еще более неприятно. (Не ваш ответ, но разрешение локальных изменений файла без возможности отключить его) 11.10.2012
  • @tkone Спасибо. Я нашел другой способ отключить вкладку с помощью CSS и обновил свой ответ подробностями. 12.10.2012
  • Хотя мне нужна вкладка скриптов — отладка важна для моей работы, но проблема в том, что каждый раз, когда срабатывает точка останова, окно скрипта получает фокус. Если файл очень длинный (скажем, как несжатый jquery), и вы по ошибке нажали пробел, вы не сможете отменить изменения, файл помечен как локально отредактированный, а точки останова больше не работают на вкладке. 12.10.2012
  • @tkone Спасибо. Я нашел свойство для включения режима только для чтения. Я обновил свой ответ с подробностями. 12.10.2012
  • Святое дерьмо. Это работает очень хорошо. Мне не нужно возиться с расширениями или чем-то еще. 13.10.2012
  • Добавление этого стиля работает по большей части, но время от времени прокрутка приводит к редактированию. В настройках действительно должен быть переключатель, чтобы заблокировать любое редактирование локальных исходных файлов. 11.01.2013
  • К сожалению, это не работает в последних версиях Chrome, так как пользовательские таблицы стилей имеют удален 05.09.2014

  • 2

    Насколько мне известно, в инструментах разработчика Chrome/WebKit нет возможности отключить редактирование скриптов.

    Ниже приведены два три возможных решения:

    Решение 1:

    Сделайте расширение, которое показывает предупреждение каждый раз, когда вы вносите изменения:

    JavaScript:

    chrome.devtools.inspectedWindow.onResourceContentCommitted.addListener(function(resource, content) {
        alert("WARNING: Your changes will not be saved!!");
        // Optional, but and extra layer of "protection", if you don't want/need it just remove the "experimental" permission from the manifest
        if (chrome.experimental) {
            chrome.experimental.devtools.console.addMessage("error", "WARNING: Your changes will not be saved!!");
            // Shows in red
        }
    });
    

    Расширение (распаковано, сначала включите API экспериментального расширения в chrome://flags): http://www.mediafire.com/?wb1r67ron0x6szh

    Решение 2:

    Измените исходный код и запустите пользовательскую сборку:

    Другой вариант — изменить источник инструментов разработчика, см. https://developers.google.com/chrome-developer-tools/docs/contributing для получения дополнительной информации. Если вы это сделали, все, что вам нужно сделать, это удалить класс text-editor-editable из контейнера редактора (строка 1279, DefaultTextEditor.js).

    Решение 3:

    Сделайте так, чтобы хром автоматически сохранял ваши файлы:

    Третий вариант — разрешить Chrome сохранять ваши файлы. Для этого существует ряд расширений, а именно Tincr. Tincr также позволяет перезагружать файлы в режиме реального времени и предлагает полную подсветку синтаксиса.

    Мое личное мнение, что это лучшее решение.

    11.10.2012
  • Решение 3 кажется лучшим! Награда присуждена! Э-э, он не позволит мне сделать это в течение двух часов. Значит, награда за два часа? Хотя твой представитель сейчас довольно элитный! 12.10.2012
  • Но я только что приехал! (реп, а не ТАК) У меня есть другая идея: вы можете использовать решение Пола Свитта, но вместо этого, используя :before, создайте прозрачную маску над редактором. Вы все еще можете отлаживать, но не выбирать или редактировать. 12.10.2012
  • Извините, Пол получил именно то, что мне было нужно - всего одна строка CSS :) 13.10.2012
  • Новые материалы

    Угловая структура архитектуры
    Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

    «Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
    Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

    Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
    В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

    Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
    React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

    Создайте API с помощью Python FastAPI
    Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

    Веселье с прокси-сервером JavaScript
    Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

    Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
    Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...