Avere il codice qui sotto:Html e rinviare attributo
<html>
<head>
<script>
function elem_onload() {
console.log("elem_onload");
};
</script>
</head>
<body onload="elem_onload()">
<script type="text/javascript" src="script.js" defer></script>
</body>
</html>
script.js:
console.log("external script");
l'attributo rinviare non sembra funzionare. L'output è:
external script
elem_onload
con o senza attributo di rinvio. Non è possibile
elem_onload
external script
con posticipo definito?
Risposta duplicata !?
vorrei precisare che la mia risposta non è duplicato di
How exactly does <script defer=“defer”> work?
La risposta consigliata si fa riferimento è di circa script inline in cui il comportamento del browser è chiaro per me - è semplicemente ignora defer
. La mia domanda riguarda script esterno, nel qual caso il browser deve eseguire lo script differita esterna
dopo che il documento è stato analizzato
come stati di documentazione, quindi, dopo onload
evento.
Così sto aspettando una risposta appropriata ...
controllare http://stackoverflow.com/questions/5250412/how-exact--es-script-defer-defer-work – Mate
Non utilizzare il differimento prima, ma non si dovrebbe assegnare un valore alla proprietà, ad es. 'defer =" true "'? –
Hai ragione che sembra contro-intuitivo, ma non hai detto quale browser stai usando per questo, se hai lo stesso comportamento in browser diversi né se il contenuto è memorizzabile nella cache. – symcbean