2012-12-25 11 views
37

ATTENZIONE!

Non è possibile includere gli script Github direttamente da Github dopo this change.Inclusione di file JavaScript da GitHub in pagine HTML

Abbiamo aggiunto l'intestazione X-Content-Type-Options: nosniff alle nostre risposte agli URL non elaborati nel lontano 2011 come primo passo nella lotta all'hotlinking. Ciò ha l'effetto di forzare il browser a trattare il contenuto in conformità con l'intestazione Content-Type. Ciò significa che quando impostiamo Content-Type: text/plain per le viste non elaborate dei file, il browser rifiuterà di trattare quel file come JavaScript o CSS.

Ma ci sono alternative. Controllare my answer to this question.


Sto cercando di includere un file JavaScript da GitHub in un file HTML locale per il test (come un'immagine trovato su internet: <img src="http://...">).

Vorrei qualcosa di simile:

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

Il problema è che questo non funziona. Sono sicuro che questo è possibile.

Come posso fare questo?

+4

GitHub è _non_ un CDN. Se stai cercando di usarlo come una cosa, per favore non farlo. – Bojangles

+0

L'editor di testo 'submime' ha un'estensione' Fetch' fantastica ... pop in e scaricherà qualsiasi file o decomprimerà un file zip nella directory locale – charlietfl

+0

possibile duplicato di [Collega ed esegui il file JavaScript esterno ospitato su GitHub] (http: // stackoverflow.com/questions/17341122/link-and-execute-external-javascript-file-hosted-on-github) – random

risposta

42

Sarete in grado di farlo con un URL simile a questo:

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

Nota che questo non è lo stesso di fare clic sul pulsante "raw" all'interno di GitHub; quel pulsante ti darà anche una versione pulita del file, ma verrà inviata con con le intestazioni sbagliate.


Una parola di avvertimento; il file non è non servito da GitHub. È stato reindirizzato tramite il dominio rawgit.com. Come si legge su https://rawgit.com:

Ehi! rawgit.com è solo per divertimento e non è associato a GitHub in alcun modo .

Tenete a mente che il proprietario di quel dominio è ora in controllo del traffico e è in grado di manipolare a loro piacimento.


Usa questo URL nella produzione:

https://cdn.rawgit.com/user/repo/tag/file 
+0

@stu - 100% corretto. Ho aggiunto una nota nella mia risposta per dirlo. – Lix

+2

Questo non dovrebbe funzionare poiché GitHub ha cambiato il tipo di contenuto per raw.github.com Vedi https://github.com/blog/1482-heads-up-nosniff-header-support-coming-to-chrome-and-firefox. .. Puoi usare www.rawgithub.com – klaustopher

+0

Sembra che stia servendo da raw.githubusercontent.com ora – mork

4

questo dovrebbe funzionare:

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

Ecco come è possibile ottenere reindirizzato all'indirizzo necessarie in github:

enter image description here

+4

+1 per le riprese dello schermo. –

+8

Questo * non * funzionerà poiché, vedi sopra (http://stackoverflow.com/a/14033306/167251) – larsmoa

0

Prova somethig come questo:

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

E 'di lavoro per me

2

Questo funziona anche con il recente cambiamento di GitHub:

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

PS. richiede jQuery.

Problemi correlati