2010-08-18 101 views
2

我的網站登錄使用AJAX發佈憑證。然後它檢查要返回的「錯誤/成功」,然後進行相應的處理。Javascript重定向到SSL導致「部分加密」錯誤

這一直工作得很好,直到我想添加SSL。

原始代碼:

if (output == 'success') 
    window.location=window.location; 

替換代碼:

if (output == 'success') 
    window.location=String(window.location).replace('http://', 'https://'); 

這將用戶重定向到SSL'd頁面,但它導致Firefox呈現content was partially encrypted錯誤。

如何在不給出警告的情況下使用Javascript重定向到SSL'd頁面?

回答

1

你的代碼看起來很好。

通常問題是SSL頁面上的某些內容(Javascript庫,CSS文件,圖像等)未使用SSL。

使用Firebug「net」選項卡檢查加載在SSL頁面上的所有內容。使用http://

+0

引用了某些內容在SSL頁面上的所有GET請求都顯示它是從HTTPS提取的。沒有HTTP。如果我手動刷新頁面,一旦它被加載,它工作正常。 – dave 2010-08-18 01:24:21

+0

以下是一個類似的問題:http://forum.civicrm.org/index.php?topic=12063.0 在其他瀏覽器中嘗試您的網頁。它是特定於FF嗎? – 2010-08-18 01:37:56

+0

剛剛在Chrome和Internet Explorer中嘗試過。 Chrome瀏覽器的網址欄亮起,沒有錯誤,IE點亮了部分加密錯誤。 Firebug的網絡標籤顯示沒有加載HTTP內容。 page/does /鏈接到HTTP內容(超鏈接,沒有內容被加載)以及DOCTYPE和HTML XLMNS參考http://但是不應該導致錯誤,對吧? :/ – dave 2010-08-18 01:48:13