vue使用iframe嵌入html,js方法互調

2022-08-25 17:51:32 字數 2700 閱讀 8341

前段時間 使用h5搞了個用cesium.js做的地圖服務功能,後來想整合到vue專案,當然最簡單的就是iframe直接拿來用了。

但html和vue的方法互動就是成了問題,vue呼叫html種方法還好,尤其是html呼叫vue中的方法當初就沒有解決,忙著專案上線直接搞了個setinterval不停輪詢,哎不說他了;

現在空點了來把問題解決了,俗話說得好閒時學來忙時用,閒時不學忙時莫得用,所以各位走過路過的朋友看過來看過來,要買鄉音這邊來(程式設計師改擺地攤了,哈哈哈)。且扯遠了下面進入主題

這個還是挺簡單的 直接window.frames['iframe name'].方法名如:

invokehtmlmethod() ,
這個就有點難做了(準確來說是採坑了);第乙個當然會想到直接將方法綁到window上了;

create()

},methods: ,

}

然後html頁面中是這樣

執行報錯了

vm345:1 uncaught typeerror: window.parent.vuedefinedmyprop is not a function

at :1:15

後來去網上看見這朋友是這麼做得

部落格位址

於是我就照著改了試試;

data()}},

created()

}, methods: ,

}

html頁面是這樣

function

invockiframemethod()

不行報錯的;;;,

最後沒辦法,俺新建乙個專案

將** 改成這樣

data(),

created()

}, methods: ,

}

html頁面改成這樣

function

invockiframemethod()

』試試。。咦;ok了

奇葩的是吧**拷貝到原來的那個專案執行依然報錯;

剛開始以為是cesium影響了,我就新建個頁面來試試;還是不對;

又想到是不是element ui影響了,我又到新建的專案(不報錯的這個專案)裡去也把element ui 也安裝上,但是執行依然可以;

這初步排除了並不是這兩者影響造成的錯誤;調來調去始終就是不行,

難道是專案搭建的有問題??這個也不大可能呀;

執著的我就不信還找不到問題所在;

最後吧兩個專案**一比對:才發現是自己疏忽了,看下面**

不要意思帶大家繞了這麼大一圈,是這該死的單詞createcreated(乙個一般現在時,乙個過去式)區別就這麼大~

哎,有時候自己給自己挖個坑,可能比別人挖得坑還要難爬出啦

好了問題終於解決了,完整**如下

vue頁面

呼叫html種方法

width="100%" height="100%"frameborder="0" scrolling="no" ref="iframedom"

>

export

default

},created()

},methods: ,

invokehtmlmethod() ,

}

html頁面

doctype html

>

<

html

lang

="en"

>

<

head

>

<

meta

charset

="utf-8"

>

<

title

>title

title

>

head

>

<

body

>

<

button

onclick

="invockiframemethod()"

>點選呼叫iframe

button

>

<

script

>

function

invockiframemethod()

function

lodatable() `);

num--;

}}script

>

body

>

html

>

最後執行結果

都是你的錯~粗心惹的禍,記錄記錄。,歡迎**一起交流

Vue使用iframe嵌入外部HTML檔案

專案開發的過程中,我們不可避免的會引入外部已經寫好的html檔案,那在不同的vue腳手架中如何成功引入html檔案呢?如何獲取到html檔案中的值呢?把要引入的檔案 假設是aaa.html檔案 放到static目錄下,在vue介面中引入 把要引入的檔案放到public目錄下,在vue介面中引入 注意...

Vue中嵌入iframe遇到的問題

1.iframe嵌入後在ios中無法滾動的問題。2.iframe嵌入後,設定高度100 出現上下滑動輕微晃動的問題。提供兩種解決辦法,為什麼產生這種晃動的bug還不得而知。解決辦法 1.在iframe元件外層再巢狀一層子元件。即把iframe所在元件引入其他子元件,不把iframe元件直接當做子元件...

js使用iframe嵌入頁面問題

1.在被嵌入頁面獲取iframe的src 寫在被嵌入頁面 window.parent.document.queryselector cust contentwindow.location.href 2.iframe嵌入頁面會出現兩個滾動條,解決這個問題可以設定iframe高度和內部頁面高度保持一致 ...