Posso disabilitare il riempimento automatico di Google Chrome SOLO per localhost?


21

Sono uno sviluppatore ed è MOLTO fastidioso che Chrome suggerisca tutte le informazioni del mio indirizzo personale in moduli di siti Web che sto sviluppando per l'esecuzione sul mio computer locale. È possibile disabilitare la compilazione automatica su localhost, un dominio o un indirizzo IP? Non vedo nulla nelle impostazioni avanzate.


Sebbene "come sviluppatore", non desideri la stessa esperienza sul tuo server di test locale come sul sito live?
MrWhite il

4
Se voglio testare cose specifiche del browser come il riempimento automatico, lo farei contro un server di prova.
Gromer,

Risposte:


8

Di recente ho risposto a un'altra domanda con lo stesso requisito di personalizzazione delle funzionalità di Chrome (e anche ispirato a @Paul ).

NOTA: questa soluzione consente di bloccare un indirizzo IP specifico o un elenco di IP, senza dover caricare alcuna libreria aggiuntiva e nessuno script aggiuntivo nel progetto. Infatti spesso potresti aver bloccato tutte le funzionalità di Javascript, ma il controllo "noautofill" segue il funzionamento, evitando collisioni con altre librerie, consentendo anche di avere un reale riconoscimento dei costi di consumo e dei tempi di rendering, e questo può tradursi in risparmi di tempo nel debugging del giorno oggi, su diversi progetti web.

Crea un'estensione di Chrome che utilizza il "match filter host" dell'API di Chrome e filtra i tuoi personalizzati IP hosto namehost. Quindi imposta l'attributo autocompletesu off per tutti i tag "input" e "form".

Procediamo con questi passaggi:

  • Crea una nuova cartella denominata ex. noautofill

  • Crea nella nostra nuova cartella, un nuovo file chiamato manifest.json e aggiungi questo codice all'interno:


{
  "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" ]

}
  • Nella nostra nuova cartella, crea un nuovo file chiamato script.js e aggiungi questo codice all'interno:


(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');
        }       
  });
})();
  • Andiamo al menu di Chrome »Impostazioni» Estensioni

  • Ora facciamo clic sul pulsante "Carica estensioni non compresse"

  • Infine segniamo la nostra cartella e facciamo clic sul pulsante Apri.

Questo è il risultato:

noautofill

Questo sistema è molto semplice e puoi personalizzare il file script.js con il tuo codice di controllo. In futuro potresti aggiungere altri script, CSS, pagine di configurazione, ecc. Ricorda che ogni volta che apporterai modifiche nel file script.js dovrai ricaricare il plugin con CtrlR.

Inoltre puoi ottenere una guida più dettagliata su come creare estensioni di Chrome .


Per favore, non esagerare con la formattazione. Ricorda, a volte meno è di più. Ho modificato il tuo post per rimuovere il grassetto, il corsivo e le virgolette che non sono necessari.
slhck,

1
Nessun problema, solo un consiglio per il futuro :)
slhck,

1
Mi piace di più questa soluzione, grazie! Non è un grande fan di dover gestire più profili, il che funzionerebbe, ma non la soluzione che sto cercando. Ciò consente alle cose di essere più snelle per me. Grazie a tutti!
Gromer

1
Bella soluzione! Penso che potresti aver perso un jolly sul secondo 10.0.1.100 ?
Paul

wow si! che occhi attenti :)
RTOSkit

9

Le altre risposte sull'utilizzo di un secondo profilo o l'installazione di una seconda versione di Chrome dovrebbero funzionare correttamente. Sto prendendo una prospettiva diversa solo per fornire un'altra opzione, non perché penso che questo sia un modo migliore per farlo.


Mentre stai sviluppando un sito Web localmente, includi semplicemente la libreria jQuery e uno script jQuery con il seguente codice:

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

Ciò disattiva il riempimento automatico per tutti gli input nella pagina Web. Utilizzato insieme a un file include sul lato server (nella testata) significa che sarebbe molto facile aggiungerlo durante i test e rimuoverlo per la produzione per un intero sito Web.


1
1+ Mi hai ispirato, per la mia seconda soluzione.
RTOSkit,

1
Funziona benissimo, aggiungerei che potresti mettere questo codice sul lato server se un'istruzione che controlla un'impostazione per dire su quale enigornment sta funzionando il sito web. Nel mio caso per il mio MVC sembra questo@if (Web.Core.Common.Settings.Environment == Web.Core.Common.Environments.Local) { @Html.Raw("$(':input').attr('autocomplete','off');"); }
guanome,

2

Sfortunatamente, Google Chrome non ha un'opzione di filtro per sito per il riempimento automatico.

Un'alternativa è utilizzare l' estensione di Lastpass per Chrome , in cui puoi decidere quale campo ricordare per ogni sito.

L'altra alternativa è la creazione di un nuovo profilo utente Impostazioni di Chrome -> Utenti -> Aggiungi un nuovo utente o l'installazione di diverse versioni di Chrome (Chrome Stable / Beta / Dev, Chrome Canary o Chromium ).


2

Una soluzione (a scopo di test) sarebbe quella di aggiungere un nuovo profilo d'uso senza Compilazione automatica.

Utilizzare questo profilo durante il test per evitare il riempimento automatico.


Non è la soluzione migliore: vuoi comunque utilizzare Internet normalmente su tutti gli altri siti web.
user1068446

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.