Чи можна відключити Google Chrome Автозаповнення ТІЛЬКИ для localhost?


21

Я розробник, і це ДУЖКО дратує, коли Chrome пропонує всю мою особисту адресу у формах одного веб-сайту, який я розробляю для роботи на своїй локальній машині. Чи можливе відключення автозаповнення в localhost, домені чи IP-адреси? У розширених налаштуваннях я нічого не бачу.


Хоча "як розробник", ви не хочете такого ж досвіду на своєму локальному тестовому сервері, як у прямому веб-сайті?
MrWhite

4
Якщо я хочу перевірити певні веб-переглядачі, такі як Autofill, я б це зробив проти тестового сервера.
Громер

Відповіді:


8

Нещодавно я відповів на ще одне запитання з тією ж вимогою налаштувати функції Chrome (а також надихнув @Paul ).

ПРИМІТКА. Це рішення дозволяє блокувати конкретну IP-адресу або список IP-адрес, не потребуючи завантаження додаткової бібліотеки та додаткових скриптів у вашому проекті. Факти часто можуть бути заблоковані всі функції Javascript, але керування "noautofill" слідкує за роботою, уникаючи зіткнень з іншими бібліотеками, дозволяючи також мати реальне визнання витрат на споживання та час надання, і це може призвести до економії часу налагодження дня на різні веб-проекти.

Створити розширення Chrome , який використовує «матч фільтр хост» в Chrome API, і фільтрувати користувальницький 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 ?
Павло

вау так! що пильні очі :)
RTOSkit

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');"); }
guanome

2

На жаль, у Google Chrome немає можливості фільтрування на сайті для автоматичного заповнення.

Однією з альтернатив є використання розширення Lastpass Chrome , де ви можете вирішити, яке поле слід пам’ятати на веб-сайті.

Інша альтернатива - створити новий профіль користувача Параметри Chrome -> Користувачі -> Додати нового користувача або встановити різні версії хрому (Chrome Stable / Beta / Dev, Chrome Canary або Chromium ).


2

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

Використовуйте цей профіль під час тестування, щоб уникнути автозаповнення.


Це не найприємніше рішення - ви все ще хочете використовувати Інтернет як звичайне на всіх інших веб-сайтах.
користувач1068446

1

Могли досягти своєї мети за допомогою розширення Autofill .

Я думаю, що він має всі функції, які ви шукаєте.

автозаповнення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.