最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue中iframe的使用及說明

 更新時(shí)間:2022年09月13日 09:17:25   作者:芝士焗紅薯  
這篇文章主要介紹了vue中iframe的使用及說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

關(guān)于iframe的使用

iframe在同域時(shí)能自由操作iframe和父框架的內(nèi)容(DOM),在跨域時(shí)可以實(shí)現(xiàn)頁面跳轉(zhuǎn)。

<iframe id="iframe" :src="iframeSrc" style="height: calc(100% - 50px)" width="100%" frameborder="0"></iframe>

獲取iframe里面的內(nèi)容

  • iframe.contentWindow, 獲取iframe的window對象
  • iframe.contentDocument, 獲取iframe的document對象
const _iframe = document.getElementById('iframe').contentWindow

CDM跨域

如果你設(shè)置的iframe的域名和你top window的域名完全不同,可以使用CDM(cross document messaging)進(jìn)行跨域消息的傳遞。

發(fā)送消息: 使用postmessage方法 

postMessage(message, targetOrigin)
  • message: 傳遞給iframe的內(nèi)容, 通常是string,最好不要傳object對象,需要傳對象時(shí),使用JSON.stringfy轉(zhuǎn)換。
  • targetOrigin: 接受你傳遞消息的域名,可以設(shè)置絕對路徑,也可以設(shè)置""或者"/"。 表示任意域名都行,"/"表示只能傳遞給同域域名。
_iframe.postMessage(JSON.stringify(_obj), '*')

接受消息: 監(jiān)聽message事件

當(dāng)targetOrigin接受到message消息之后,會觸發(fā)message事件。 message提供的event對象上有3個重要的屬性,data,origin,source.

window.addEventListener('message', function (event) {
? ? ? console.log(event)
? ? ? if (event.origin === window.callBackUrl.iframeSrc) {
? ? ? ? _this.childData = event.data
? ? ? ? console.log(event.data)
? ? ? ? _this.saveForm()
? ? ? }
? ? })

使用iframe的總結(jié)

需求描述:在后臺管理系統(tǒng)中需要預(yù)覽配置的數(shù)據(jù)在手機(jī)上顯示的樣式,方便后臺管理人員操作,因?yàn)轭A(yù)覽的內(nèi)容比較多,h5已經(jīng)寫好了一套代碼,所以利用iframe將h5的頁面展示引入到后臺

代碼展示

iframe:

<iframe
? id="iframe"
? ref="iframe"
? frameborder="0"
? class="iframe"
? :src="srcH5" ? //srcH5:預(yù)覽頁面的地址
/>
?
srcH5:'/iframeH5/preview',

父頁面給子頁面?zhèn)髦担?/p>

var iframe = document.getElementById('iframe');
var msg = {name:'張三'}
var childDomain = 'http://localhost:80/' ? //預(yù)覽頁面的域名
iframe.contentWindow.postMessage(msg, childDomain);

子頁面給父頁面?zhèn)髦担涸趍ounted中調(diào)用,避免未渲染完成,無法拿到數(shù)據(jù)

? ? ? ? //拿到父頁面?zhèn)鬟f的值
? ? ? ?window.addEventListener('message', (obj) => {
? ? ? ? ? this.obj = obj.data;?
? ? ? ? ? console.log('拿到數(shù)據(jù)了嗎', this.obj );
? ? ? ? }, false);
? ? ? ??
? ? ? ? //將預(yù)覽成功的信息返回給父頁面
? ? ? ? window.parent.postMessage({
? ? ? ? ? data: {
? ? ? ? ? ? code:'success'
? ? ? ? ? }
? ? ? ? }, '*');

父頁面監(jiān)聽子頁面返回的成功信息,做進(jìn)一步操作

? ? ?window.addEventListener('message', this.handleMessage);
? ? ?// 監(jiān)聽h5頁面的通信
? ? ? handleMessage (event) {
? ? ? ? const data = event.data.data;
? ? ? ? if(data && data.code === 'success') {
? ? ? ? ? 。。。。。。
? ? ? ? }
? ? ? },

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解mpvue小程序中怎么引入iconfont字體圖標(biāo)

    詳解mpvue小程序中怎么引入iconfont字體圖標(biāo)

    這篇文章主要介紹了詳解mpvue小程序中怎么引入iconfont字體圖標(biāo),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • vite分目錄打包及去掉默認(rèn)的.gz?文件的操作方法

    vite分目錄打包及去掉默認(rèn)的.gz?文件的操作方法

    Vite在默認(rèn)配置下會將資源打包至assets文件夾并添加哈希值,不同于Webpack的多文件夾存放方式,Vite只對public文件夾不進(jìn)行打包處理,而Webpack不打包public和static文件夾,本文介紹vite分目錄打包及去掉默認(rèn)的.gz?文件的操作方法,感興趣的朋友一起看看吧
    2024-09-09
  • Vue.js中兄弟組件之間互相傳值實(shí)例

    Vue.js中兄弟組件之間互相傳值實(shí)例

    本篇文章主要介紹了Vue.js中兄弟組件之間互相傳值實(shí)例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • 詳解Vue3.0 前的 TypeScript 最佳入門實(shí)踐

    詳解Vue3.0 前的 TypeScript 最佳入門實(shí)踐

    這篇文章主要介紹了詳解Vue3.0 前的 TypeScript 最佳入門實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • vue如何在vue.config.js文件中導(dǎo)入模塊

    vue如何在vue.config.js文件中導(dǎo)入模塊

    這篇文章主要介紹了vue如何在vue.config.js文件中導(dǎo)入模塊問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • vue 配置多頁面應(yīng)用的示例代碼

    vue 配置多頁面應(yīng)用的示例代碼

    這篇文章主要介紹了vue 配置多頁面應(yīng)用的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • axios+vue請求時(shí)攜帶cookie的方法實(shí)例

    axios+vue請求時(shí)攜帶cookie的方法實(shí)例

    做項(xiàng)目時(shí)遇到一個需求,后端需要在接口請求時(shí),對用戶登陸狀態(tài)進(jìn)行判斷,需要在請求時(shí)攜帶Cookie,下面這篇文章主要給大家介紹了關(guān)于axios+vue請求時(shí)攜帶cookie的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • 詳解Vue依賴收集引發(fā)的問題

    詳解Vue依賴收集引發(fā)的問題

    這篇文章主要介紹了Vue依賴收集引發(fā)的問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • vue中__ob__:?Observer的踩坑記錄

    vue中__ob__:?Observer的踩坑記錄

    這篇文章主要介紹了vue中__ob__:?Observer的踩坑記錄,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue3常用的指令之v-bind和v-on指令用法

    vue3常用的指令之v-bind和v-on指令用法

    vue的v-on與v-bind,v-on就是用于綁定事件的,下面這篇文章主要給大家介紹了關(guān)于vue3常用的指令之v-bind和v-on指令用法的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12

最新評論

丁青县| 大丰市| 福清市| 天台县| 安新县| 开鲁县| 大城县| 张北县| 翼城县| 桑日县| 六枝特区| 沈丘县| 久治县| 宣威市| 昌吉市| 昆明市| 亳州市| 龙山县| 突泉县| 嵩明县| 柘城县| 伊通| 丁青县| 齐河县| 安国市| 福鼎市| 甘南县| 镇宁| 丰县| 奉贤区| 台中市| 北安市| 湘西| 鄂伦春自治旗| 韶关市| 喀喇| 张家川| 黎平县| 金秀| 额尔古纳市| 宁陕县|