百度UEditor富文本地圖控件不支持https的問題解決

最近tp5項目部署了,還增加了https訪問證書,使用富文本編輯器的map組件出現了問題,主要是mixed content.. ,沒辦法,只能百度搜索解決問題的答案:百度UEditor控件中的map組件不支持https使用的問題解決

問題解決了,感謝!

我也記錄一下:

第一:

https是安全傳輸協議,在這個協議下傳輸的網頁不允許包含http協議這類不安全的內容。

HTTPS頁面裏動態的引入HTTP資源,比如引入一個js文件,會被瀏覽器直接block掉的.在HTTPS頁面裏通過AJAX的方式請求HTTP資源,也會被直接block掉的。也就是報mixed content,

解決方法:頁面的head中加入以下代碼

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

意思是自動將http的不安全請求升級爲https
第二:

上面設置完成之後頁面上的內容被自動從http協議改成了https協議,但是百度地圖的應用還是有問題,百度地圖的瓦片加載不出來,發現這些瓦片被自動改成https之後是不存在的。。也就是說這些地圖瓦片是隻部署在http下的,這可怎麼辦,難道百度地圖不支持https嗎。。這不應該啊

又一通查找搜索之後。。。。找到百度地圖切換https協議的方案:

將地圖的js引用稍加修改,http-->https,後面參數加上&s=1,如此就支持https了
第三:

但是還是沒有完全解決,最後查看我用的Ueditor中用的百度地圖的版本太低了。。v=1.1的,改成2.0的試試吧,https的相關問題終於沒有了,但是有一些百度地圖的api沒有了。。。

應該是2.0相比於1.1的api還是有些變化的吧,再查看百度地圖的官方文檔,把功能類似的api修改了一下,呼呼。。最後問題終於解決了。

主要修改內容羅列如下,以備自己總結備忘:

1、頁面的head中加入以下代碼

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

2、修改百度地圖js引用方式:

修改前:

<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.1&services=true"></script>

修改後:

<script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=your_ak&s=1"></script>

3、修改1.1到2.0升級的部分api:

1)在Ueditor包的map組件的map.html中

改前:
57  marker.setPoint(point);
改後:
57  marker.setPosition(point);
改前:
109  var zoom = map.zoomLevel();

113  var point = marker.getPoint();

126  var url = "http://api.map.baidu.com/staticimage?center=" + center.lng + ',' + center.lat +

改後:
109  var zoom = map.getZoom();

113  var point = marker.getPosition();

126  var url = "https://api.map.baidu.com/staticimage?s=1&center=" + center.lng + ',' + center.lat +

2)在Ueditor包的map組件的show.html中

修改js引用方式

改前:
17  <script type="text/javascript" src="http://api.map.baidu.com/api?key=&v=1.1&services=true"></script>

109  marker = window.marker.getPoint();

改後:
17  <script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=6b6c1a67eaa7db1ca6d6da28e590e343&s=1"></script>

109  marker = window.marker.getPosition();

最後,OK!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章