Maison  >  Article  >  interface Web  >  Explication détaillée de l'erreur dans le chemin de laydate.js lors du chargement de laydate.css

Explication détaillée de l'erreur dans le chemin de laydate.js lors du chargement de laydate.css

小云云
小云云original
2017-12-27 14:01:134267parcourir

laydate.js est un plug-in de contrôle de date et d'heure appartenant à la série Javascript. laydate.js est compatible avec les navigateurs grand public, dont IE6. Après que laydate.js ait été largement réécrit par Xianxin, il est devenu de plus en plus puissant et plus flexible à utiliser, mais quelque chose s'est mal passé dans un projet basé sur angulaire+ocLazyLoad. Je pense que le plug-in de sélection de date et d'heure laydate.js est familier à tout le monde. Cet article vous présente principalement les informations pertinentes sur la façon de résoudre le problème de l'erreur de chemin de laydate.js lors du chargement de laydate.css. en détail à travers l'exemple de code, qui est très utile pour tout le monde. Il a une certaine valeur de référence et d'apprentissage lorsque vous étudiez ou travaillez. Les amis qui en ont besoin peuvent y jeter un œil ci-dessous.

J'ai trouvé le problème

laydate.js a été introduit via le chargement asynchrone d'ocLazyLoad. Par conséquent, le fichier laydate.css n'a pas pu être chargé, j'ai vérifié l'erreur de chemin, j'ai donc ouvert le code. et j'ai découvert qu'il était écrit comme ceci :

getPath:function(){
 var e=document.scripts,
 t=e[e.length-1],
 n=t.src;
 if(!t.getAttribute("merge"))
 return n.substring(0,n.lastIndexOf("/")+1)
}()

Il doit d'abord obtenir le chemin d'accès à laydate.js, puis ajouter la section de laydate.css pour l’épissage final en un chemin complet.

L'idée utilisée par l'auteur pour obtenir le chemin de laydate.js est la suivante : puisque le code js pour déterminer le chemin est généralement placé directement dans le fichier js au lieu de la fonction, il sera exécuté immédiatement lorsque l'instruction js y est chargée, et le nombre de fichiers js obtenus lors de l'exécution de cette instruction est exactement e.length-1. Parce que les fichiers js derrière la page n'ont pas encore été chargés, le nombre de fichiers js obtenus. il n'y a pas tous les fichiers js sur le numéro de page. De cette façon, il n'est pas nécessaire de parcourir le chemin pour obtenir le fichier, et le nom du fichier n'est pas requis pour le jugement du fichier, ce qui rend le jugement plus précis (e.length-1 est toujours le fichier lui-même).

Cependant, cette méthode présente des défauts. Ce n'est pas un problème de l'introduire directement avec la balise script dans la page html si vous utilisez document.write("