2013-03-22 55 views
3
我有在IE8的一些問題,在那裏,當我去 https://www.myapp.com

,我得到一個安全警告,說:如何讓HTTPS域拉入CSS數據?

Security Warning: "Do you want to view only the webpage content that was delivered securely?" 

看來,我的CSS文件都被阻塞,因爲當我選擇「是」,有沒有造型。

我看着我的主頁我的網頁源代碼,以及在內部網頁,這是我發現:

<link href="/assets/application.css?body=1" media="all" rel="stylesheet" type="text/css" /> 
<link href="/assets/active_admin.css?body=1" media="all" rel="stylesheet" type="text/css" /> 
<link href="/assets/comments.css?body=1" media="all" rel="stylesheet" type="text/css" /> 
<link href="/assets/custom.css?body=1" media="all" rel="stylesheet" type="text/css" /> 
<link href="/assets/sessions.css?body=1" media="all" rel="stylesheet" type="text/css" /> 
<link href="/assets/static_pages.css?body=1" media="all" rel="stylesheet" type="text/css" /> 

我怎樣才能讓這個HTTPS在我的CSS文件,使沒有這種安全警告?我是一個初學者,所以即使在查看各種文件後,我也不知道在哪裏可以找到要更改的數據。

此外,如果有人熟悉Bootstrap-sass紅寶石寶石,我會使用它。在我的CSS文件中,我有@import "bootstrap";

+0

當我收到安全警告時,如果選擇「是」,則樣式全部關閉。但是,如果我選擇「否」(意味着所有內容的安全傳送以及不安全),所有樣式都可以。這隻發生在IE – johbones 2013-03-22 05:44:36

回答

1

打開您的CSS文件並查找任何absolute url在那裏通過HTTP加載任何圖像。當在HTTP URL上加載任何元素時會發生這種情況。很可能您的CSS文件包含任何背景或來自完整網址的任何圖像,其硬編碼爲HTTP。即使是jquery源文件,如果你有,要拉上HTTPS

4

以下形式的使用protocol-relative links外部資源They將確保在需要時通過https提供這些資源。 (例如,如果在外部腳本庫鏈接)

//domain.com/external/resource 

而且使用相同的路徑,相對絕對的風格,你的CSS中要求的資源也是如此。

.elem{ background: url(/path/to/something.png); } 
+0

當然,*如果*主機被指定,但在這種情況下,它不是?也就是說,不是沒有主機的URL片段(即'/ path-absolute'或'path-relative')協議相關URL的子集? – 2013-03-22 05:47:19

+0

(我真的只見過與協議相關的URL用於在*域中保留相同的協議*,例如CDN資源。) – 2013-03-22 05:53:45

+0

您知道如果我使用Ruby「bootstrap」gem ?這就是我的custom.css文件「@import」bootstrap「;」 – johbones 2013-03-22 05:53:50