如何修正含有混和內容的網站

Firefox 23 起,Firefox 預設會開始阻擋 混合的主動內容。這項動作是跟在 IE 9Chrome 後來實行的。

本頁面會告訴你,身為一個網頁開發者需要知道甚麼。

你的網站可能出問題了

如果你的網站由 HTTPS 傳輸,則這個頁面中所有由 HTTP 接收的 混和的主動內容 就會被擋下來。你的網站可能就會讓使用者遇到一些問題 (像是 iframes 或 擴充套件無法載入…之類的)。至於 混和的被動內容 預設是會顯示出來的,可是使用者也可以設定將這類內容擋下來。

值得注意的是,由於阻擋混和式內容這個動作已經在 Chrome 和 Internet Explorer 中實行了,所以如果你的網站已經在這些瀏覽器中出問題了,那麼在 Firefox 也很有可能會發生相同的情況。

在任何情況下,要知道網站是否出問題的最好方法,就是下載 最新的 Firefox 開發者版本,然後到你的網站中的不同頁面,使用 使用網頁主控台 開啟 (啟用「安全」訊息)並檢查是否有任何關於混和式內容的東西被回報。我們使用線上抓取工具(或說是網路爬蟲),像是會仔細檢查你的網站並抓出不安全的內容的 SSL-check 來完成檢查。如果檢查不到任何有關於混和式內容的東西,就代表你的網站狀態良好:繼續建置你出色的網站吧!

如何修復你的網站

避免混合內容阻塞最好的方法,就是使用 HTTPS 而不是 HTTP 來傳輸所有的內容

對於你自己的域名,使用 HTTPS 來傳輸所有內容並修正你的連結。一般而言 HTTPS 版本的內容都已經存在了,而且只需要在連結後面加上 "s" 就像這樣:將 http:// 改成 https:// 。

對於其他域名,盡可能使用該網站的 HTTPS 版本。但如果 HTTPS 不能用的話,你也可以試著跟域名擁有者聯絡並詢問他們是否可以使用 HTTPS 來傳輸內容。

如果你在你網站的 SSL 與非 SSL 版本分享原始碼,你也可以使用傳輸協議相關連結

<script src="//example.com/script.js" type="text/javascript"></script>

如此一來,你就可以整個省去傳輸方式並使用瀏覽器顯示該網時站所用的協議。如果你的使用者正瀏覽你的網站的 HTTP 版本,則該腳本會以 http:// 來載入;如果你的使用者是瀏覽 HTTPS 版本的話,腳本就會以 https:// 載入。

藉由使用 傳輸協議相關連結,你就會放棄在本機預覽該文件的能力,因為網站將會使用 file:/// 協議,而這就會使得傳輸失敗。

 

文件標籤與貢獻者

 此頁面的貢獻者: wildsky
 最近更新: wildsky,