It is currently 26 February 2021, 19:52 Advanced search

Autocompletamento chrome

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

Autocompletamento chrome

Postby f.delsordo » 23 February 2021, 9:47

Ciao a tutti,

mi ricollego a questo thread che è ormai chiuso:

viewtopic.php?f=5&t=87249&p=161728&hilit=autocomplete#p161728

Capita anche a me più volte il problema ed ora segnalato dall'utente giustamente come malfunzionamento (che sia di inde o di chrome all'utente non interessa giustamente). Ho notato che inserendo autocomplete="chrome-off" il problema sembra sparire.

Vi torna? E' possibile inserire questo attributo tramite custom? O ci sono "correzioni" migliori al momento?

Grazie,
Francesco
f.delsordo
 
Posts: 67
Joined: 13 October 2011, 8:33

Re: Autocompletamento chrome

Postby t.simoncini » 23 February 2021, 15:09

Ciao,
come ho scritto nel thread che hai indicato e in un altro linkato sempre lì da theguru, io ho risolto nel mio caso con una procedura JS lanciata con RD3SendCommand nella Load delle videate.
Ho utilizzato l'evento GlobalLoad così da scriverlo in un punto solo. La procedura JS spazzola tutto il DOM cercando gli input e aggiunge autocomplete="off".
ProGamma ha bollato questa soluzione come "non affidabile". Non so se poi hanno fornito soluzioni alternative migliori. Da quello che scrivi, forse no. La mia soluzione continua a funzionare nel 99,9% dei casi.
Non rientro nella discussione sulla causa (INDE/Chrome) perché come hai scritto, agli utenti non interessa.
t.simoncini
 
Posts: 1162
Joined: 5 March 2012, 14:00

Re: Autocompletamento chrome

Postby Tony » 23 February 2021, 18:25

Anche io ho lo stesso problema, che nel caso di pannelli lista "sbloccati" riempie intere pagine con nuovi record.
Attachments
Immagine 2021-02-23 192418.jpg
Immagine 2021-02-23 192418.jpg (34.98 KiB) Viewed 121 times
Tony
 
Posts: 341
Joined: 13 November 2013, 11:37
Location: barcellona p.g. (me)

Re: Autocompletamento chrome

Postby d.pierangeli » 24 February 2021, 8:20

Come indicato da t.simoncini attualmente il framework mette 'autocomplete=off' su tutti gli input.

Si può vedere usando gli strumenti di sviluppo del browser.

Come sappiamo il funzionamento di autocomplete=off su chrome è totalmente randomico quindi può tranquillamente essere che la stessa funzione a t.simoncini funzioni e ad altri no.

L'autocomplete viene impostato da una funzione javascript che è fatta per essere personalizzata:
Code: Select all
GlobalObject.prototype.AutocompleteOff = function (node)
{
  if (this.AutocompleteTimer)
  {
    clearTimeout(this.AutocompleteTimer);
    delete this.AutocompleteTimer;
  }
  //
  if (!this.InputList)
    this.InputList = [];
  this.InputList.push(node);
  //
  this.AutocompleteTimer = setTimeout(function () {
    for (var i = 0; i < RD3_Glb.InputList.length; i++) {
      // Attualmente off e' la scelta corretta, nel caso chrome cambi gestione e' possibile invertire le righe per ottenere un valore univoco
      RD3_Glb.InputList[i].setAttribute("autocomplete", "off");
      // RD3_Glb.InputList[i].setAttribute("autocomplete", Math.ceil(Math.random()*10000)+"-"+Math.floor(Math.random()*10000));
    }
    delete RD3_Glb.InputList;
    delete RD3_Glb.AutocompleteTimer;
  }, 350);
}

Basta portarla in custom3.js e modificare "off" con "chrome-off".
User avatar
d.pierangeli
Pro Gamma
Pro Gamma
 
Posts: 7070
Joined: 30 September 2010, 15:35

Re: Autocompletamento chrome

Postby t.simoncini » 24 February 2021, 8:36

Io lo faccio in modo un po' più grezzo.
Chiamo questa nell'AfterLoad delle videate.

Code: Select all
function my_DisableAutoComplete() {
   if (document.getElementsByTagName) {
       var inputElements = document.getElementsByTagName("input");
       for (i=0; inputElements[i]; i++) {

// Per il momento disattivo tutte le input.
               inputElements[i].setAttribute("autocomplete","off");

// Da scommentare se si volessero controllare le disattivazioni dell'autocomplete tramite in nome della classe CSS.
//           if (inputElements[i].className && (inputElements[i].className.indexOf("disableAutoComplete") != -1)) {
//               inputElements[i].setAttribute("autocomplete","off");
//           }

       }
   }
}


EDIT: mi correggo: chiamo questa procedura come ultima cosa nell'evento Load delle videate.
Last edited by t.simoncini on 24 February 2021, 9:04, edited 1 time in total.
t.simoncini
 
Posts: 1162
Joined: 5 March 2012, 14:00

Re: Autocompletamento chrome

Postby d.pierangeli » 24 February 2021, 8:44

L'unica differenza che mi viene in mente è che noi lo facciamo con un timer 350 milli dopo l'ultimo input creato (che una volta sembrava funzionare meglio), tu lo fai proprio alla fine di tutto ma senza timer (concettualmente nello stesso 'thread' di gestione/creazione).

Forse l'effetto potrebbe cambiare in base alla tempistica (che comunque non ha senso), magari si potrebbe provare a mettere nella funzione

node.setattribute("autocomplete", "off");

e basta, così autocomplete off viene messo alla creazione degli input.
User avatar
d.pierangeli
Pro Gamma
Pro Gamma
 
Posts: 7070
Joined: 30 September 2010, 15:35

Re: Autocompletamento chrome

Postby f.delsordo » 24 February 2021, 10:15

d.pierangeli wrote:Come indicato da t.simoncini attualmente il framework mette 'autocomplete=off' su tutti gli input.

Si può vedere usando gli strumenti di sviluppo del browser.

Come sappiamo il funzionamento di autocomplete=off su chrome è totalmente randomico quindi può tranquillamente essere che la stessa funzione a t.simoncini funzioni e ad altri no.

L'autocomplete viene impostato da una funzione javascript che è fatta per essere personalizzata:
Code: Select all
GlobalObject.prototype.AutocompleteOff = function (node)
{
  if (this.AutocompleteTimer)
  {
    clearTimeout(this.AutocompleteTimer);
    delete this.AutocompleteTimer;
  }
  //
  if (!this.InputList)
    this.InputList = [];
  this.InputList.push(node);
  //
  this.AutocompleteTimer = setTimeout(function () {
    for (var i = 0; i < RD3_Glb.InputList.length; i++) {
      // Attualmente off e' la scelta corretta, nel caso chrome cambi gestione e' possibile invertire le righe per ottenere un valore univoco
      RD3_Glb.InputList[i].setAttribute("autocomplete", "off");
      // RD3_Glb.InputList[i].setAttribute("autocomplete", Math.ceil(Math.random()*10000)+"-"+Math.floor(Math.random()*10000));
    }
    delete RD3_Glb.InputList;
    delete RD3_Glb.AutocompleteTimer;
  }, 350);
}

Basta portarla in custom3.js e modificare "off" con "chrome-off".


Ciao, ho provato a fare come suggerito. Ho copiato questa porzione di codice nel custom3.js sostituendo << RD3_Glb.InputList[i].setAttribute("autocomplete", "off"); >> con << RD3_Glb.InputList[i].setAttribute("autocomplete", "chrome-off"); >> ma non da risultati e da strumenti per sviluppatori vedo ancora autocomplete="off". Dovrei fare altro?
f.delsordo
 
Posts: 67
Joined: 13 October 2011, 8:33

Re: Autocompletamento chrome

Postby d.pierangeli » 24 February 2021, 10:45

Direi di no, hai provato a svuotare la cache del browser?
User avatar
d.pierangeli
Pro Gamma
Pro Gamma
 
Posts: 7070
Joined: 30 September 2010, 15:35

Re: Autocompletamento chrome

Postby f.delsordo » Yesterday, 13:51

Ciao,

si ho anche provato ad andare in incognito e ad aprire da browser il file http://applicazione/custom3.js e le modifiche sono presenti ma nel dom rimane il vecchio valore dell'attributo.

Potrebbero esserci altre verifiche utili?

Grazie
f.delsordo
 
Posts: 67
Joined: 13 October 2011, 8:33

Re: Autocompletamento chrome

Postby d.pierangeli » Yesterday, 14:33

Non saprei, prova a mettere un breakpoint e a vedere se scatta, ho ricontrollato e la funzione che ti ho incollato mi sembra corretta.

Per sicurezza quale tema stai usando?

Io ti ho incollato la funzione di Zen, dovrei verificare se per bootstrap/ionic la funzione ha una firma diversa.
User avatar
d.pierangeli
Pro Gamma
Pro Gamma
 
Posts: 7070
Joined: 30 September 2010, 15:35


Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: No registered users and 30 guests