2010-04-27 13 views
71

मैं अपने शीर्षलेख और पाद लेखों में एक बाहरी सीएसएस फ़ाइल और बाहरी जेएस फ़ाइल जोड़ रहा हूं। एक HTTPS पृष्ठ लोड करते समय, कुछ ब्राउज़र शिकायत करते हैं कि मैं असुरक्षित सामग्री लोड कर रहा हूं।आवश्यकता होने पर HTTPS के माध्यम से सीएसएस और जेएस फ़ाइलों को कैसे शामिल करें?

क्या पृष्ठ स्वयं HTTPS के माध्यम से बाहरी सामग्री को लोड करने का एक आसान तरीका है जब पृष्ठ स्वयं HTTPS है?

उत्तर

116

प्रोटोकॉल-सापेक्ष पथ का उपयोग करें।

इस प्रकार नहीं

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

लेकिन इतना

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

तो यह माता पिता पेज के प्रोटोकॉल का उपयोग करेगा।

+0

http://webdosanddonts.com/dont-use-protocol -संबंध-पथ-से-सीएसएस-फाइल –

+4

यह एक ब्राउज़र-विशिष्ट समस्या है।सवाल में दृश्य प्रौद्योगिकी की क्षमताओं का उपयोग करके पूरी तरह से सर्वर पक्ष पर ऐसा करने से इसे मजबूत तरीके से हल करने के अन्य तरीके नहीं हैं। – BalusC

+1

एक अतिरिक्त नोट के रूप में, यदि आप [दाएं कैशिंग प्रविष्टियों] के बारे में परवाह करते हैं (http://stackoverflow.com/questions/49547/making-sure-a-web-page-is-not-cached-across-all- ब्राउज़र/2068407 # 2068407) प्रतिक्रिया शीर्षलेखों में, ब्राउज़र इसे बाद के अनुरोधों पर डाउनलोड नहीं करेगा जब तक कि समाप्ति तक पहुंच न हो, आईई सहित। – BalusC

0

आप, संबंधित पथ का उपयोग करें (और सामग्री एक ही डोमेन पर है) तो सामग्री का उपयोग करना चाहिए जो भी प्रोटोकॉल पेज में अनुरोध किया गया था।

लेकिन यदि आप एक CDN या संसाधन साइट के लिए डोमेन के बीच जा रहे हैं या यदि आपको पूर्ण पथ का उपयोग करने की आवश्यकता है, तो आपको लिंक बदलने के लिए सर्वर साइड स्क्रिप्ट का उपयोग करने की आवश्यकता होगी, या हमेशा https: //

+0

हम डोमेन भर में जा रहे हैं। काम शामिल करने के लिए जावास्क्रिप्ट का उपयोग करना होगा? यदि document.location.protocol तो ... –

+0

हेड टैग में मार्कअप डालने से जेएस का उपयोग करने की कोशिश कर रहा है, शायद एक साधारण दस्तावेज़। एक स्क्रिप्ट टैग के अंदर लिखना ..

संबंधित मुद्दे