摘要:由于該項目是基于原本的安卓,做的微信,所以原來的使用的頁面現(xiàn)在需要在中實現(xiàn),那就是使用查看了很多很多文檔,其中這一篇是很有價值的下面將天的爬坑最終以問答的方式總結(jié)如下組件中如何引入如何獲取對象以及內(nèi)的對象如何向內(nèi)傳送信息內(nèi)如何向外部發(fā)送信息
由于該項目是基于原本的安卓app,做的微信h5,所以原來的使用webview的頁面現(xiàn)在需要在vue中實現(xiàn),那就是使用iframe
查看了很多很多文檔,其中這一篇是很有價值的 https://gist.github.com/pboji...
下面將3天的爬坑最終以問答的方式總結(jié)如下:
1、Vue組件中如何引入iframe?
2、vue如何獲取iframe對象以及iframe內(nèi)的window對象?
3、vue如何向iframe內(nèi)傳送信息?
4、iframe內(nèi)如何向外部vue發(fā)送信息?
1、Vue組件中如何引入iframe?
如上,直接通過添加iframe標(biāo)簽,src屬性綁定data中的src,第一步引入就完成了
2、vue如何獲取iframe對象以及iframe內(nèi)的window對象?
在vue中,dom操作比不上jquery的$("#id")來的方便,但是也有辦法,就是通過ref
然后就是獲取iframe的window對象,因為只有拿到這個對象才能向iframe中傳東西
3、vue如何向iframe內(nèi)傳送信息?
通過postMessage,具體關(guān)于postMessage是什么,自己去google, 我的理解postMessage是有點類似于UDP協(xié)議,就像短信,是異步的,你發(fā)信息過去,但是沒有返回值的,只能內(nèi)部處理完成以后再通過postMessage向外部發(fā)送一個消息,外部監(jiān)聽message 為了讓postMessage像TCP,為了體驗像同步的和實現(xiàn)多通信互不干擾,特別制定的message結(jié)構(gòu)如下
{ cmd: "命令", params: { "鍵1": "值1", "鍵2": "值2" } }
通過cmd來區(qū)別這條message的目的
具體代碼如下
向iframe發(fā)送信息
4、iframe內(nèi)如何向外部vue發(fā)送信息?
現(xiàn)在通過點擊“向iframe發(fā)送信息”這個按鈕,從外部vue中已經(jīng)向iframe中發(fā)送了一條信息
{ cmd: "getFormJson", params: {} }
那么iframe內(nèi)部如何處理這個信息呢?
iframe Window Hello there, i"m an iframe
至此內(nèi)部的收發(fā)信息已經(jīng)解決了,外部的收發(fā)也已經(jīng)解決了,快去解決你的問題吧
在這里先直接給出我項目的源碼
提交
歡迎大家來看看我的博客 https://www.windzh.com
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/97355.html
摘要:且中沒有緩存這些消息。查閱了很多資料,后來發(fā)現(xiàn)這又是一坑。在沒有加載完成的情況下,消息自然是發(fā)不到的。解決辦法就是需要的事件寫到的事件中,代碼如下 1、iframe通信 由于項目中有用到vue嵌入靜態(tài)頁面實現(xiàn)功能,vue頁面和普通H5頁面通信就是個問題。這篇文章寫得很詳細(xì)https://segmentfault.com/a/11... 但是在開發(fā)過程中還是遇到了一些問題,比如:ifra...
摘要:且中沒有緩存這些消息。查閱了很多資料,后來發(fā)現(xiàn)這又是一坑。在沒有加載完成的情況下,消息自然是發(fā)不到的。解決辦法就是需要的事件寫到的事件中,代碼如下 1、iframe通信 由于項目中有用到vue嵌入靜態(tài)頁面實現(xiàn)功能,vue頁面和普通H5頁面通信就是個問題。這篇文章寫得很詳細(xì)https://segmentfault.com/a/11... 但是在開發(fā)過程中還是遇到了一些問題,比如:ifra...
摘要:需注意的是由于同源策略的限制,所讀取的為跨域請求接口所在域的,而非當(dāng)前頁。目前,所有瀏覽器都支持該功能需要使用對象來支持,也已經(jīng)成為主流的跨域解決方案。反向代理接口跨域跨域原理同源策略是瀏覽器的安全策略,不是協(xié)議的一部分。 什么是跨域? 跨域是指一個域下的文檔或腳本試圖去請求另一個域下的資源,這里跨域是廣義的。 廣義的跨域: 1.) 資源跳轉(zhuǎn): A鏈接、重定向、表單提交 2.) 資源...
閱讀 1690·2021-11-23 10:07
閱讀 2682·2019-08-30 11:10
閱讀 2871·2019-08-29 17:08
閱讀 1811·2019-08-29 15:42
閱讀 3212·2019-08-29 12:57
閱讀 2424·2019-08-28 18:06
閱讀 3576·2019-08-27 10:56
閱讀 416·2019-08-26 11:33