D3.js: «SyntaxError non détectée: jeton inattendu ILLÉGAL»?

Je viens de télécharger D3.js de d3js.org (lien vers un fichier zip), de le décompresser et de le référencer dans la page HTML suivante:

  D3 Sandbox       

Mais quand je charge cette page, ma console (dans Chrome) me donne cette erreur:

 Uncaught SyntaxError: Unexpected token ILLEGAL: line 2 

Il n’aime pas les symboles pi et e au début du fichier . Errrr … que puis-je faire à ce sujet? Je sers le fichier avec SimpleHTTPServer de python.

Mise à jour: oui, je sais que je peux simplement créer un lien vers une version CDN, mais je préfère diffuser le fichier localement.

Essayez de spécifier le jeu de caractères UTF-8 sur le document hôte HTML:

Cela ressemble à un problème avec l’encodage. Je recommande le Absolute Minimum Chaque développeur de logiciel absolument, Positivement devez savoir sur Unicode et jeux de caractères (pas d’excuses!) . Malgré le titre quelque peu condescendant, il contient des informations très utiles. Plus précisément, il semble que votre serveur serve le fichier d3.v3.js avec le mauvais encodage.

Ajouter ‘charset = “utf-8″‘

  

J’ai essayé de définir le jeu de caractères dans le document et dans la balise de script elle-même, mais Chrome ne semble pas s’en soucier. Je ne sais pas si je fais quelque chose de mal.

J’ai eu du succès en l’exécutant avec uglify avec l’option –ascii-only en premier.

MISE À JOUR: Éteint mon Affichage-> Le paramètre d’encodage dans Chrome n’était pas auto-détecté, mais un encodage occidental. Je ne sais pas pourquoi, mais cela a résolu le problème. Ridicule que ce paramètre prenne le pas sur une propriété charset directement sur la balise script. Étant donné que les utilisateurs peuvent être dans la même situation et ne pas être en mesure de le comprendre, je continuerai à utiliser uglify pour assurer le succès.

Vérifiez si vous avez un signe plus entre toutes vos concaténations de chaînes, sinon, cette erreur sera générée.