584 votes

Lien et d'exécuter du JavaScript externe fichier hébergé sur GitHub

Lorsque je tente de changer le lié de référence d'un local fichier JavaScript à un GitHub première version de mon fichier de test s'arrête de fonctionner. L'erreur est:

A refusé d'exécuter le script, de ... parce que son type MIME (text/plain) n'est pas exécutable, et à la stricte MIME type de contrôle est activé.

Est-il un moyen de désactiver ce comportement, ou est-il un service qui permet de relier à GitHub fichiers raw?

Code de travail:

<script type="text/javascript" src="bootstrap-wysiwyg.js"></script>

Non code du travail:

<script type="text/javascript" src="https://raw.github.com/mindmup/bootstrap-wysiwyg/master/bootstrap-wysiwyg.js"></script>

1083voto

Troy Alford Points 8676

Il est une bonne solution de contournement pour ce faire, maintenant, en utilisant rawgit.com.

Étapes:

  1. Trouvez votre lien sur GitHub, et cliquez pour la "première" version du fichier.
  2. Copier l'URL, et un lien vers elle.
  3. Variation raw.github.com de rawgit.com (non-production) ou cdn.rawgit.com (production)

Exemple: http://raw.github.com/user/repo/branch/file.js

Pour les non-environnements de production, tels que jsFiddle, remplacez - raw.github.com avec rawgit.com:

http://rawgit.com/user/repo/branch/file.js

Pour les environnements de production, remplacez - raw.github.com avec cdn.rawgit.com:

http://cdn.rawgit.com/user/repo/tag/file.js

Notez également que, pour les environnements de production, envisager de cibler un spécifique tag - pas l' branch, pour s'assurer que vous obtenez la version spécifique du fichier que vous attendez, plutôt que de l' head version, ce qui va changer au fil du temps.


Pourquoi est-ce nécessaire?

GitHub a commencé à utiliser X-Content-Type-Options: nosniff, ce qui indique plus les navigateurs modernes pour assurer la stricte type MIME vérification. Il renvoie ensuite les fichiers raw dans un MIME type retourné par le serveur empêcher le navigateur d'utiliser le fichier comme prévu (si le navigateur honneurs de l'environnement).

Pour le fond sur ce sujet, référez-vous à ce fil de discussion.

61voto

Peeja Points 2406

Ce n'est plus possible. GitHub a explicitement désactivé le JavaScript hotlinking, et les nouvelles versions de navigateurs respect de ce paramètre.

https://github.com/blog/1482-

26voto

Paul Browne Points 171

rawgithub.com redirige vers rawgit.com Donc l'exemple ci-dessus serait maintenant

http://rawgit.com/user/package/master/link.min.js

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X