2010-04-27 14 views
71

Başlıklarım ve altbilgimlerime harici bir CSS dosyası ve harici bir JS dosyası ekliyorum. HTTPS sayfası yüklerken, bazı tarayıcılar güvenli olmayan içerik yüklediğimde şikayet ediyor.Gerektiğinde CSS ve JS dosyalarını HTTPS aracılığıyla nasıl ekleyebilirim?

Sayfanın kendisi HTTPS olduğunda tarayıcıyı harici içeriği HTTPS ile yüklemenin kolay bir yolu var mı? Ise içeriklerin hangisi protokolü sayfa istenenle. Eğer bir CDN veya kaynak sitesine alanlar arasında olacak Ancak eğer

kullanmalıdır

cevap

116

Protokolü temel alan yolları kullanmanız gerekir.

Böylece

<link rel="stylesheet" href="http://example.com/style.css"> 
<script src="http://example.com/script.js"></script> 

ama çok

<link rel="stylesheet" href="//example.com/style.css"> 
<script src="//example.com/script.js"></script> 

o zaman ana sayfanın protokolünü kullanacaktır değil.

+0

http://webdosanddonts.com/dont-use-protocol -relative-paths-to-css-files –

+4

Bu tarayıcıya özgü bir sorundur.Bunu, söz konusu görüntüleme teknolojisinin yeteneklerini kullanarak, sunucu tarafında tamamen yapmaktan daha sağlam bir şekilde çözmenin başka yolları yoktur. – BalusC

+1

Ek bir not olarak, [doğru önbellek girişleri] ile ilgilenirseniz (http://stackoverflow.com/questions/49547/making-sure-a-web-page-is-not-cached-across-all- tarayıcılar/2068407 # 2068407) yanıt başlıklarında, tarayıcılar IE dahil olmak üzere son kullanma tarihine kadar sonraki isteklerde karşıdan yüklemez. – BalusC

0

Eğer göreli yolları kullanan kullanıcılar (ve içerik aynı etki alanında olduğu) veya mutlak yollar kullanmanız gerekiyorsa, bağlantıları değiştirmek için sunucu tarafı komut dosyasını kullanmanız veya her zaman https: //

+0

Etki alanından geçiyoruz. Çalışmayı yazmak için javascript kullanmak ister misiniz? Document.location.protocol o zaman ... –

+0

KAF etiketine işaret ekleyerek js kullanarak çalışmayı deneyin, belki de bir script etiketinin içinde basit bir document.write .. document.write ('

İlgili konular