Могу ли я отключить автозаполнение Google Chrome ТОЛЬКО для localhost?


21

Я - разработчик, и мне очень неприятно, когда Chrome предлагает всю информацию о моих личных адресах в веб-сайтах одной формы, которые я разрабатываю на своей локальной машине. Возможно ли отключение автозаполнения на локальном хосте, домене или IP-адресе? Я ничего не вижу в расширенных настройках.


Хотя «как разработчик», разве вы не хотите, чтобы на вашем локальном тестовом сервере работало то же, что и на живом сайте?
MrWhite

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

Ответы:


8

Недавно я ответил на другой вопрос с тем же требованием настройки функций Chrome (а также по мотивам @Paul ).

ПРИМЕЧАНИЕ. Это решение позволяет блокировать определенный IP-адрес или список IP-адресов без необходимости загрузки какой-либо дополнительной библиотеки и дополнительных сценариев в вашем проекте. Фактически, вы, возможно, заблокировали все функции Javascript, но элемент управления «noautofill» следует за операцией, избегая коллизий с другими библиотеками, что также дает вам реальное распознавание платы за потребление и времени рендеринга, что может привести к экономии времени отладки дня Сегодня на разных веб-проектах.

Создайте расширение Chrome, которое использует «узел фильтра соответствия» API Chrome, и отфильтруйте пользовательский IP hostили namehost. Затем установите атрибут autocompleteдля off для все «входа» и тегов «формы».

Мы продолжаем с этими шагами:

  • Создайте новую папку с именем ex. noautofill

  • Создайте в нашей новой папке новый файл с именем manifest.json и добавьте этот код внутри:


{
  "name": "No Autofill",
  "version": "1.0",
  "manifest_version": 2,
  "description": "No Autofill.",  
  "content_scripts": [ {
      "all_frames": true,
      "exclude_globs": [  ],
      "include_globs": [ "*" ],  
      "js": [ "script.js" ],      
      "matches": [   
                   "http://192.168.1.100/",
                   "http://127.0.0.1/",
                   "http://10.0.1.100/",
                   "http://localhost/",
                   "http://wp.local/",
                   "http://192.168.1.100/*",
                   "http://127.0.0.1/*",
                   "http://10.0.1.100/*",
                   "http://localhost/*",
                   "http://wp.local/*"                   
                    ],
      "run_at": "document_start"
   } ],
  "permissions": [ "tabs", "http://*/", "https://*/", "https://*/*", "http://*/*", "contextMenus" ]

}
  • В нашей новой папке создайте новый файл с именем script.js и добавьте этот код внутри:


(function(){    
    chrome.extension.sendRequest({
        autofill:'off'
    },function(){       
        var inputnodes = document.getElementsByTagName('input');    
        for(var i=0;i<inputnodes.length;i++){       
            inputnodes[i].setAttribute('autocomplete','off');
        }       
        var formnodes = document.getElementsByTagName("form");    
        for(var i=0;i<formnodes.length;i++){                    
            formnodes[i].setAttribute('autocomplete','off');
        }       
  });
})();
  • Заходим в меню Chrome »Настройки» Расширения

  • Теперь нажимаем кнопку «Загрузить распакованные расширения»

  • Наконец мы помечаем нашу папку и нажимаем кнопку открытия.

Это результат:

noautofill

Эта система очень проста, и вы можете настроить файл script.js с вашим собственным управляющим кодом. В будущем вы можете добавить другие скрипты, CSS, страницы конфигурации и т. Д. Помните, что каждый раз, когда вы будете вносить изменения в файл script.js, вы должны перезагрузить плагин CtrlR.

Также вы можете получить более детальное руководство о том, как создавать расширения Chrome .


Пожалуйста, не переусердствуйте с форматированием. Помните, иногда меньше значит больше. Я отредактировал ваш пост, чтобы удалить жирный шрифт, курсив и цитаты, которые не нужны.
Slhck

1
Нет проблем, просто совет на будущее :)
slhck

1
Мне больше всего нравится это решение, спасибо! Не большой поклонник необходимости управлять несколькими профилями, что сработало бы, но не решение, которое я ищу. Это позволяет мне быть более упорядоченным. Спасибо всем!
Громер

1
Отличное решение! Я думаю, что вы, возможно, пропустили подстановочный знак на второй 10.0.1.100, хотя?
Пол

вау да! что
зоркие

9

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


Поскольку вы разрабатываете сайт локально, просто включите библиотеку jQuery и скрипт jQuery со следующим кодом:

$(document).ready(function() {
    $(":input").attr("autocomplete","off");
});

Это отключает автозаполнение для всех входов на веб-странице. Использование в сочетании с включаемым файлом на стороне сервера (в заголовке) означает, что было бы очень легко добавить это во время тестирования и удалить его для производства для всего веб-сайта.


1
1+ Вы вдохновили меня на мое второе решение.
RTOSkit

1
Прекрасно работает, я хотел бы добавить, что вы можете поместить этот код на стороне сервера, если оператор, который проверяет настройку, чтобы сказать, на какой среде работает веб-сайт. В моем случае для MVC мой выглядит примерно так@if (Web.Core.Common.Settings.Environment == Web.Core.Common.Environments.Local) { @Html.Raw("$(':input').attr('autocomplete','off');"); }
гуаном

2

К сожалению, в Google Chrome отсутствует опция фильтрации для каждого сайта для автозаполнения.

Один из вариантов - использовать расширение Lastpass Chrome , где вы можете решить, какое поле запоминать для каждого сайта.

Другой вариант - создать новый профиль пользователя. Настройки Chrome -> Пользователи -> Добавить нового пользователя или установить разные версии Chrome (Chrome Stable / Beta / Dev, Chrome Canary или Chromium ).


2

Одним из решений (для целей тестирования) было бы добавить новый профиль использования без автозаполнения.

Используйте этот профиль во время тестирования, чтобы избежать автозаполнения.


Это не самое лучшее решение - вы все еще хотите использовать Интернет как обычно на всех других сайтах.
user1068446

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.