Cette question est une question de suivi pour this question.Autre méthode pour inclure les fichiers JS
Si certains navigateurs téléchargent des fichiers JS alors que l'utilisateur a désactivé JS, est-il sensé d'inclure des fichiers JS avec JS pour éviter que l'utilisateur ne soit obligé de télécharger le JS inutilement?
Par exemple:
function inc(filename){
var body = document.getElementsByTagName('body').item(0);
script = document.createElement('script');
script.src = filename;
script.type = 'text/javascript';
body.appendChild(script);
}
Je trouve le code ci-dessus here.
Y a-t-il des inconvénients à ce code? Je ne l'ai pas encore testé pour m'assurer qu'il fonctionne correctement, mais cela semble assez simple. J'essaie d'éviter que plusieurs requêtes HTTP et l'empreinte de téléchargement du code soient imposées aux utilisateurs qui ne le souhaitent pas.
De même, comment cela fonctionnerait-il si l'utilisateur activait JS après le chargement initial du site?
Est-ce que cela importe? Cela vaut-il la peine de s'inquiéter?
+1. À moins que vous ayez un auditoire très spécifique à l'esprit pour ce que vous développez, le nombre de navigateurs qui ne sont pas compatibles avec JS est négligeable et ne vaut pas la peine d'être utilisé pour des performances spéciales. –
Vous avez raison sur le fait que c'est exagéré si vous faites cela afin d'empêcher le téléchargement de navigateurs non compatibles JS. Mais je peux voir l'utilisation du téléchargement à la demande si vous avez une page JS d'une page avec dix onglets et chaque onglet nécessite un morceau de JS spécifique. Il ne serait pas nécessaire de charger tous les dix onglets à la fois, mais de charger à la demande (lorsque l'utilisateur clique sur l'onglet). –
@Gert G: Oui, certainement, mais c'est, comme on dit, une autre histoire pour une autre fois. Au moins YUI (et probablement d'autres) exposent une infrastructure sophistiquée pour le chargement de modules JS à la demande, si c'est ce que vous voulez (ce qui est très différent de la portée de cette question). –