Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.lang.javascript > #8261

jquery 3 e document.ready

X-Received by 2002:a6b:3946:: with SMTP id g67-v6mr16191359ioa.20.1539688037098; Tue, 16 Oct 2018 04:07:17 -0700 (PDT)
X-Received by 2002:a9d:4497:: with SMTP id v23mr383795ote.6.1539688036661; Tue, 16 Oct 2018 04:07:16 -0700 (PDT)
Path csiph.com!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!x98-v6no44188ita.0!news-out.google.com!n199-v6ni87itn.0!nntp.google.com!z5-v6no43076ite.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups it.comp.lang.javascript
Date Tue, 16 Oct 2018 04:07:16 -0700 (PDT)
Complaints-To groups-abuse@google.com
Injection-Info glegroupsg2000goo.googlegroups.com; posting-host=2a02:ed8:1001:0:921b:eff:fe57:f80; posting-account=cuukCAoAAADppFjm3lellRzd6p__ft4I
NNTP-Posting-Host 2a02:ed8:1001:0:921b:eff:fe57:f80
User-Agent G2/1.0
MIME-Version 1.0
Message-ID <1cd4f41d-cca6-4adf-8b2f-671486214f29@googlegroups.com> (permalink)
Subject jquery 3 e document.ready
From gandalf.corvotempesta@gmail.com
Injection-Date Tue, 16 Oct 2018 11:07:17 +0000
Content-Type text/plain; charset="UTF-8"
Content-Transfer-Encoding quoted-printable
Lines 83
Xref csiph.com it.comp.lang.javascript:8261

Show key headers only | View raw


Ciao a tutti
Sto letteralmente diventando cretino nel risolvere un problema apparentemente semplice ma che credo sia causato da jquery3

In pratica, la document ready viene triggerata prima ancora di aver scaricato tutti i plugin della jquery stessa.

La pagina è così composta:

<html>
<head>
   <script src='enorme_file_minificato.js'>
   <script src='altro_enorme_file_minificato.js'>
   <script src='ulteriore_enorme_file_minificato.js'>
   <script>
      var variable;
      var variabile2;
      var altrevariabili;
      var tantissime_altre_variabili;
      var stringa = 'ciao mondo';
   </script>
</head>
<body>
   la pagina
</body>

<script>
   $(document).ready(function() {

   });
</script>
</html>



La jquery è dentro "enorme_file_minificato.js"
Tonnellate di plugin jquery e non, sono dentro "altro_enorme_file_minificato.js"
Altra roba è dentro  "ulteriore_enorme_file_minificato.js"

Da quel che so (e che ho provato centinaia di volte su decine e decine di browser/combinazioni diverse), 
il browser fa il parse in fila, prima di arrivare al codice nel footer,
ha scaricato tutto il codice esterno (dato che è referenziato prima)

Non è il mio caso.

Ricevo errori del tipo: 
"$ is not defined"
"variabile is not defined"
"Cannot read property 'trim' of undefined" (riferita a stringa.trim())
"Cannot read property 'replace' of undefined" (riferita a stringa.replace('mondo','italia');


Non ne vengo a capo. Sono almeno 2 mesi che faccio prove su prove.
Ho letto sul forum jquery che dalla v3 la document ready è asincrona e
potrebbe venire triggerata prima che il resto dei plugin sia scaricato.
Il come sia possibile non lo so, dato che dovrebbe essere il browser a
bloccare l'esecuzione dello script nel footer prima di aver scaricato
tutti quelli degli header.

Fatto sta che spesso ricevo gli errori di cui sopra, o plugin non riconosciuti
etc etc.

Ho "parzialmente" (ricevo ancora troppi errori del genere) risolto cambiando
tutti i riferimenti da "$(document).ready" a

$(window).on('load', function(){
   $.ready.then(function(){ })
});

In pratica, la $.ready viene triggerata dopo la window.load (che si triggera
dopo che il browser ha scaricato tutto, immagini compreso).

Idee? Sto veramente diventando matto.




Back to it.comp.lang.javascript | Previous | NextNext in thread | Find similar


Thread

jquery 3 e document.ready gandalf.corvotempesta@gmail.com - 2018-10-16 04:07 -0700
  Re: jquery 3 e document.ready gandalf.corvotempesta@gmail.com - 2018-10-17 09:02 -0700
  Re: jquery 3 e document.ready Alessandro Pellizzari <shuriken@amiran.it> - 2018-10-19 10:12 +0100
    Re: jquery 3 e document.ready gandalf.corvotempesta@gmail.com - 2018-10-19 03:22 -0700

csiph-web