国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

前端爬坑日記之vue內(nèi)嵌iframe并跨域通信

dreambei / 2492人閱讀

摘要:由于該項(xiàng)目是基于原本的安卓,做的微信,所以原來(lái)的使用的頁(yè)面現(xiàn)在需要在中實(shí)現(xiàn),那就是使用查看了很多很多文檔,其中這一篇是很有價(jià)值的下面將天的爬坑最終以問(wèn)答的方式總結(jié)如下組件中如何引入如何獲取對(duì)象以及內(nèi)的對(duì)象如何向內(nèi)傳送信息內(nèi)如何向外部發(fā)送信息

由于該項(xiàng)目是基于原本的安卓app,做的微信h5,所以原來(lái)的使用webview的頁(yè)面現(xiàn)在需要在vue中實(shí)現(xiàn),那就是使用iframe
查看了很多很多文檔,其中這一篇是很有價(jià)值的 https://gist.github.com/pboji...

下面將3天的爬坑最終以問(wèn)答的方式總結(jié)如下:

1、Vue組件中如何引入iframe?

2、vue如何獲取iframe對(duì)象以及iframe內(nèi)的window對(duì)象?

3、vue如何向iframe內(nèi)傳送信息?

4、iframe內(nèi)如何向外部vue發(fā)送信息?

1、Vue組件中如何引入iframe?



如上,直接通過(guò)添加iframe標(biāo)簽,src屬性綁定data中的src,第一步引入就完成了

2、vue如何獲取iframe對(duì)象以及iframe內(nèi)的window對(duì)象?

在vue中,dom操作比不上jquery的$("#id")來(lái)的方便,但是也有辦法,就是通過(guò)ref


然后就是獲取iframe的window對(duì)象,因?yàn)橹挥心玫竭@個(gè)對(duì)象才能向iframe中傳東西



3、vue如何向iframe內(nèi)傳送信息?

通過(guò)postMessage,具體關(guān)于postMessage是什么,自己去google,

我的理解postMessage是有點(diǎn)類(lèi)似于UDP協(xié)議,就像短信,是異步的,你發(fā)信息過(guò)去,但是沒(méi)有返回值的,只能內(nèi)部處理完成以后再通過(guò)postMessage向外部發(fā)送一個(gè)消息,外部監(jiān)聽(tīng)message

為了讓postMessage像TCP,為了體驗(yàn)像同步的和實(shí)現(xiàn)多通信互不干擾,特別制定的message結(jié)構(gòu)如下
{
  cmd: "命令",
  params: {
    "鍵1": "值1",
    "鍵2": "值2"
  }
}

通過(guò)cmd來(lái)區(qū)別這條message的目的

具體代碼如下



4、iframe內(nèi)如何向外部vue發(fā)送信息?

現(xiàn)在通過(guò)點(diǎn)擊“向iframe發(fā)送信息”這個(gè)按鈕,從外部vue中已經(jīng)向iframe中發(fā)送了一條信息

{
  cmd: "getFormJson",
  params: {}
}

那么iframe內(nèi)部如何處理這個(gè)信息呢?




    
    iframe Window
    



    

Hello there, i"m an iframe

至此內(nèi)部的收發(fā)信息已經(jīng)解決了,外部的收發(fā)也已經(jīng)解決了,快去解決你的問(wèn)題吧

在這里先直接給出我項(xiàng)目的源碼






歡迎大家來(lái)看看我的博客 https://www.windzh.com

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/97355.html

相關(guān)文章

  • 前端--iframe爬坑記錄

    摘要:且中沒(méi)有緩存這些消息。查閱了很多資料,后來(lái)發(fā)現(xiàn)這又是一坑。在沒(méi)有加載完成的情況下,消息自然是發(fā)不到的。解決辦法就是需要的事件寫(xiě)到的事件中,代碼如下 1、iframe通信 由于項(xiàng)目中有用到vue嵌入靜態(tài)頁(yè)面實(shí)現(xiàn)功能,vue頁(yè)面和普通H5頁(yè)面通信就是個(gè)問(wèn)題。這篇文章寫(xiě)得很詳細(xì)https://segmentfault.com/a/11... 但是在開(kāi)發(fā)過(guò)程中還是遇到了一些問(wèn)題,比如:ifra...

    CntChen 評(píng)論0 收藏0
  • 前端--iframe爬坑記錄

    摘要:且中沒(méi)有緩存這些消息。查閱了很多資料,后來(lái)發(fā)現(xiàn)這又是一坑。在沒(méi)有加載完成的情況下,消息自然是發(fā)不到的。解決辦法就是需要的事件寫(xiě)到的事件中,代碼如下 1、iframe通信 由于項(xiàng)目中有用到vue嵌入靜態(tài)頁(yè)面實(shí)現(xiàn)功能,vue頁(yè)面和普通H5頁(yè)面通信就是個(gè)問(wèn)題。這篇文章寫(xiě)得很詳細(xì)https://segmentfault.com/a/11... 但是在開(kāi)發(fā)過(guò)程中還是遇到了一些問(wèn)題,比如:ifra...

    nanchen2251 評(píng)論0 收藏0
  • 跨域總結(jié)

    摘要:跨域的解決方案利用標(biāo)簽不受跨域限制而形成的一種方案。跨域資源共享標(biāo)準(zhǔn)新增了一組首部字段,允許服務(wù)器聲明哪些源站有權(quán)限訪問(wèn)哪些資源。它是基于的全雙工通信即服務(wù)端和客戶(hù)端可以雙向進(jìn)行通訊,并且允許跨域通訊。 1.什么是跨域 同源策略限制了從同一個(gè)源加載的文檔或腳本如何與來(lái)自另一個(gè)源的資源進(jìn)行交互。這是一個(gè)用于隔離潛在惡意文件的重要安全機(jī)制。同源指:協(xié)議、域名、端口號(hào)必須一致。 同源策略控制...

    chuyao 評(píng)論0 收藏0
  • 前端常見(jiàn)跨域解決方案(全)

    摘要:需注意的是由于同源策略的限制,所讀取的為跨域請(qǐng)求接口所在域的,而非當(dāng)前頁(yè)。目前,所有瀏覽器都支持該功能需要使用對(duì)象來(lái)支持,也已經(jīng)成為主流的跨域解決方案。反向代理接口跨域跨域原理同源策略是瀏覽器的安全策略,不是協(xié)議的一部分。 什么是跨域? 跨域是指一個(gè)域下的文檔或腳本試圖去請(qǐng)求另一個(gè)域下的資源,這里跨域是廣義的。 廣義的跨域: 1.) 資源跳轉(zhuǎn): A鏈接、重定向、表單提交 2.) 資源...

    canger 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<