摘要:建議在調試階段用或者引入,在部署階段用相對協議,或者直接在本地建一個服務器,以服務器的形式打開頁面,就不會出現瀏覽器無法加載相對協議下的資源的情況了。
前幾天在做一個翻譯小應用的時候,發現在安卓手機端可以正常運行,而在蘋果手機和谷歌瀏覽器中不能正常運行(可能safari和Chrome的內核都是webkit內核的原因,還是webkit內核大法好^__^),電腦端有提示不安全提示,而手機端不會有任何提示。
demo地址:https://zdaoyang.github.io/tr...
上社區尋求答案后得知,是因為github全站開啟了https,而在我的html頁面的head中,有一些資源是以http的形式引入的,如下圖
也就是說,如果你的主站點是https的,那么里面的所有資源就必須都要以https的形式引入,不然瀏覽器的安全機制就會把這部分資源block掉,導致無法正常運行。
解決方案有以下幾種:將資源引入形式改成https
選擇相對協議,也就是說,將頭部的http/https去掉,只保留之后的部分,像這樣:
這樣的好處是瀏覽器能夠根據你的網站所采用的協議來加載文件。
但是,由于“相對協議”的相對特性,對于本地文件的訪問就有一個“坑”:比如,你在電腦上保存了一個 index.html 的頁面,這個頁面中用相對協議引用了網絡上的某個外部資源,你直接用瀏覽器打開這個html文件是打不開的,因為你瀏覽本地文件時,瀏覽器采用的是 file: 協議,file協議無法識別//cdn.bootcss.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css這種類型的資源路徑,故打不開。
建議:在調試階段用http或者https引入,在部署階段用相對協議,或者直接在本地建一個服務器,以服務器的形式打開頁面,就不會出現瀏覽器無法加載相對協議下的資源的情況了。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/83856.html
摘要:但對于很多資源,則可以利用協議減少網絡負載。采用的是多進程的資源加載機制。目前大多數瀏覽器都有磁盤緩存機制,因為緩存機制確實能夠提高網頁的加載速度。 showImg(https://segmentfault.com/img/remote/1460000016215814); 微信公眾號:愛寫bugger的阿拉斯加如有問題或建議,請后臺留言,我會盡力解決你的問題。 前言 此文章是我最近在...
閱讀 2160·2021-09-04 16:40
閱讀 1452·2021-08-13 15:07
閱讀 3604·2019-08-30 15:53
閱讀 3193·2019-08-30 13:11
閱讀 1069·2019-08-29 17:22
閱讀 1811·2019-08-29 12:47
閱讀 1469·2019-08-29 11:27
閱讀 2221·2019-08-26 18:42