2010-09-01 7 views
29

J'ai une page qui fait référence à quelques fichiers javascript hébergés en externe - à savoir, jQuery on Google et YUI using YUI Loader. Le problème est que lorsque j'accède à la page via HTTPS, le navigateur se plaint d'un contenu non sécurisé mixte, puisque les fichiers javascript externes sont accédés en utilisant http au lieu de https.HTTPS et fichiers hébergés externes (CDN)?

Quelle est une bonne façon de traiter cela, en accédant aux objets externes jQuery et YUI Loader avec HTTPS?

Répondre

88

En supposant que le fournisseur CDN dispose d'une version https, vous pouvez utiliser des URL relatives au protocole.

Par exemple, au lieu de:

http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js 

... vous pouvez utiliser:

//ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js 

Le navigateur utilisera le protocole de la page pour essayer d'obtenir le fichier. Sur les pages non sécurisées, http. Sur les pages sécurisées, https.

Google rend également YUI Loader disponible via son CDN. Donc, pour YUI cela fonctionne bien:

//ajax.googleapis.com/ajax/libs/yui/2.8.0/build/yuiloader/yuiloader-min.js 

... dans les contextes http et https.

+0

+1 pour une fonction URL peu utilisée. –

+1

Nice, je ne savais pas que vous pouvez laisser tomber le protocole. Je vais essayer. – Parand

Questions connexes