Salut J'ai une feuille de style et une fonction JavaScript qui charge dans tous les fichiers requis pour ce modèle.Assurez-vous que ces fichiers sont chargés avant d'exécuter un autre script
Cependant, j'ai un petit problème à cause du moment où les autres balises de script s'exécutent dans le fichier modèle (plan js code), il n'attend pas le chargement des fichiers requis.
Ainsi, ce qui vous arrive, ce sont les scripts qui ne reconnaissent pas les fonctions et autres fonctions JS.
JS code
<script type="text/javascript">
var uid = '{$smarty.session.ipet_user}';
function stylesheet(url) {
var s = document.createElement('link');
s.rel = 'stylesheet';
s.async = false;
s.href = url;
var x = document.getElementsByTagName('head')[0];
x.appendChild(s);
}
function script(url) {
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = url;
var x = document.getElementsByTagName('head')[0];
x.appendChild(s);
}
(function() {
script('https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js');
script('https://apis.google.com/js/api:client.js');
script('https://maps.googleapis.com/maps/api/js?libraries=places&key=AIzaSyBk99v0F4qkmvxifqOD48YktK-QO-3kopI');
script('./templates/main/user-theme/javascript/google.js');
script('plugins/getmdlselect/getmdl-select.min.js');
script('./templates/main/user-theme/javascript/facebook.js');
script('./templates/main/user-theme/javascript/newprofile.js');
script('./templates/main/javascript/zipcode.js');
stylesheet('https://opensource.keycdn.com/fontawesome/4.7.0/font-awesome.min.css');
stylesheet('https://fonts.googleapis.com/css?family=Roboto');
stylesheet('https://fonts.googleapis.com/icon?family=Material+Icons');
stylesheet('./templates/main/user-theme/tpl-files/material.act.css');
stylesheet('plugins/dropzone/dropzone.css');
stylesheet('plugins/stepper/stepper.min.css');
stylesheet('./templates/main/user-theme/tpl-files/style.css');
stylesheet('./templates/main/style/newprofile.css');
stylesheet('plugins/getmdlselect/getmdl-select.min.css');
})();
</script>
Vous devez chaîner les scripts dans un rappel, plutôt que d'appeler simplement la fonction plusieurs fois. Je vous recommande de structurer vos différents scripts en tableau, puis de parcourir ce tableau en appelant 'script ([array_index])', puis en appelant 'script ([array_index + 1])' comme callback pour l'insertion de script. –
vous aurez besoin d'écouter les événements 'load' –
tag de script sur les navigateurs modernes supportent le rappel onload. – T4rk1n