web-dev-qa-db-fra.com

Inclusion de fichiers JavaScript de GitHub dans des pages HTML

FAITES ATTENTION!

Vous ne pouvez pas inclure de scripts Github directement à partir de Github après cette modification .

Nous avons ajouté l'en-tête X-Content-Type-Options: nosniff à nos réponses d'URL brutes en 2011 en tant que première étape de la lutte contre la création de liens dynamiques. Cela a pour effet de forcer le navigateur à traiter le contenu conformément à l'en-tête Content-Type. Cela signifie que lorsque nous définissons Content-Type: text/plain pour les vues brutes de fichiers, le navigateur refuse de traiter ce fichier en tant que JavaScript ou CSS.

Mais il y a des alternatives. Vérifiez ma réponse à cette question .


J'essaie d'inclure un fichier JavaScript de GitHub dans un fichier HTML local à des fins de test (comme une image trouvée sur Internet: <img src="http://...">). 

Je voudrais quelque chose comme ça:

<script src="https://github.com/[username]/[repository]/blob/master/public/[fileName].js"></script>

Le problème est que cela ne fonctionne pas.

Comment puis-je faire ceci?

44
Ionică Bizău

Vous pourrez le faire avec une URL similaire à celle-ci:

https://rawgit.com/h5bp/html5-boilerplate/master/src/js/plugins.js

Notez que cela ne revient pas à cliquer sur le bouton "brut" dans GitHub; Ce bouton vous donnera également une version propre du fichier, mais il sera envoyé avec les mauvais en-têtes.


Un mot d'avertissement; le fichier n'est pas n'est pas servi par GitHub. Il est en cours de redirection via le domaine rawgit.com. Comme indiqué sur https://rawgit.com :

Hey! rawgit.com est pour le plaisir et n'est pas associé à GitHub dans aucun façon.

N'oubliez pas que le propriétaire de ce domaine contrôle maintenant le trafic et que est capable de le manipuler à sa guise.


Utilisez cette URL en production:

https://cdn.rawgit.com/user/repo/tag/file
51
Lix

Cela devrait fonctionner:

<script src="https://raw.github.com/[username]/[repository]/[branch]/[filename].js"></script>

Voici comment vous pouvez être redirigé vers l'adresse requise dans github:

enter image description here

6
CoffeeCode

Cela fonctionne même avec le changement récent de github:

<script>
  $.getScript("https://raw.github.com/username/repo/master/src/script.js");
</script>

PS. nécessite jQuery.

2
Alex

rawgit semble fermer d'ici fin 2019,

certaines options de diffusion de contenu avec les en-têtes Content-Type appropriés. 

  1. https://raw.githack.com/ , https: //combinatronics.com= > alternative exacte mais ne peut pas être utilisée pour extraire du javascript côté client, car cors est activé ici .
  2. jsdelivr => pour la livraison de fichiers javascript
0
Shishir Arora

Essayez quelque chose comme ça:

<html>
<head>
    <script src="https://raw.github.com/e0ne/BlogSamples/master/ModalDialog/AdvancedPopup/jquery.min.js"></script>
</head>

Ça marche pour moi

0
Ivan Kolodyazhny