2010-09-01 12 views
29

Mam stronę, która odwołuje się do kilku hostowanych na zewnątrz plików javascript - a mianowicie jQuery on Google i YUI using YUI Loader.Pliki hostowane przez HTTPS i zewnętrzne (CDN)?

Problem polega na tym, że uzyskując dostęp do strony przez HTTPS, przeglądarka skarży się na mieszaną, niezabezpieczoną zawartość, ponieważ dostęp do zewnętrznych plików javascript uzyskuje się przy użyciu http zamiast https.

Co to jest dobry sposób, aby uzyskać dostęp do zewnętrznych obiektów jQuery i YUI Loader za pomocą protokołu HTTPS?

Odpowiedz

88

Zakładając, że dostawca CDN ma wersję https, możesz użyć adresów URL zależnych od protokołu.

Na przykład zamiast:

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

... można użyć:

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

Przeglądarka użyje protokołu na stronie, aby spróbować uzyskać plik. Na niezabezpieczonych stronach, http. Na bezpiecznych stronach https.

Google udostępnia także YUI Loader za pośrednictwem swojego CDN. Tak więc dla YUI działa to dobrze:

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

... zarówno w kontekście http, jak i https.

+0

+1 za mało używana funkcja URL. –

+1

Miło, nie zdawałem sobie sprawy, że możesz przerwać protokół. Spróbuję tego. – Parand

Powiązane problemy