以前沒弄過這塊,剛接到需求的時候沒怎麼考慮就打算直接將所有頁面裏的http換爲https了。。頁面少的話還好,多了就很差處理了,即便用工具將整個項目的文件所有替換,由於還要考慮改到https以後頁面功能正常。並且在想確定不該該這麼麻煩,會有更好的解決方案百度查了下能夠用CSP設置upgrade-insecure-requests參考連接https://www.cnblogs.com/hustskyking/p/upgrade-insecure-requests.html,http://www.cnblogs.com/mafly/p/allhttps.html。能夠放在服務器端或者頁面頭部均可以,若是項目有公共頭部的話會比較好改。服務端:好比apache配置文件里加上Header add "Content-Security-Policy" "upgrade-insecure-requests"頁面:<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />其中遇到了一些問題以下,預計還有些沒發現的問題一、百度推送js不支持https解決:修改//push.zhanzhang.baidu.com/push.js百度實時推送js爲支持https的//zz.bdstatic.com/linksubmit/push.js二、重複請求問題,一種狀況發生在swipe裏background屬性引用了http連接的圖片,一種狀況發生在動畫裏background屬性引用了http連接的圖片由於頁面增長了<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />屬性致使動畫切換的時候頻繁將http轉成https請求解決:background裏屬性改成https三、sea.js加載模塊失敗seajs.use("http://www.xxx.com/main.js")這樣引用的時候http是沒問題的,可是切換到https的時候seajs.use("https://www.xxx.com/main.js")加載失敗,修改成絕對路徑方式引用能夠了seajs.use("main"),固然config.js要配置base的URL四、後端配置https不支持三級域名https://a.b.xxx.com解決:只有手動改咯。