中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue?iframe更改src后頁面未刷新問題如何解決

發布時間:2023-04-27 10:55:00 來源:億速云 閱讀:201 作者:iii 欄目:開發技術

這篇文章主要介紹了Vue iframe更改src后頁面未刷新問題如何解決的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Vue iframe更改src后頁面未刷新問題如何解決文章都會有所收獲,下面我們一起來看看吧。

一、場景描述

在項目開發過程中,應用iframe實現外系統頁面嵌套的時候,發現引入其他頁面后,頁面內容并未刷新加載,經過一番研究,解決方案如下:

vm.iframeSrc = iframeSRC
if (document.getElementById('iframe')) {
	setTimeout(() => {
		document.getElementById(iframeid).contentWindow.location.reload(true);
	}, 200)
}

注:務必在更改iframe src屬性值之后補充頁面重載邏輯,否則無法解決問題。

注:window.reload是重新加載當前需要的所有內容,也就包括頁面和后臺的代碼,此過程中實際上是從后臺重新進行操作;

二、高版本瀏覽器頁簽切換后內容不刷新問題解決

在應用上面的解決措施后,發現Chrome(>75)及IE高版本瀏覽器下,iframe在更改了src之后對應的網頁并未刷新問題復現。

2.1 解決思路

iframe下頁面內容未刷新問題其實是由于頁面未重新渲染導致的,但是通過在src中添加時間戳以達到欺騙瀏覽器重新渲染的目的并未解決以上問題,后通過v-if實現銷毀新建iframe方式,完美解決問題。

2.2 解決措施

<iframe v-if="flagsArr[index]" :src='...+timeStamp'></iframe>
handleSelect (tab, event) {
	this.index = tab.index
	this.flagsArr = Array(頁簽數組.length).fill(false)
	this.flagsArr[this.index] = true
	vm.iframeSrc = iframeSRC
	if (document.getElementById('iframe')) {
		setTimeout(() => {
			document.getElementById(iframeid).contentWindow.location.reload(true);
		}, 200)
	}
}

三、拓展閱讀

keep-alive 緩存 iframe

因為iframe不在vue的虛擬節點里,所以即使使用了vuekeep-alive也不會緩存iframe頁面。

我們可以換個思路解決這個問題。首先在router.js里不要引入路徑,就是component不寫,這樣會出現加載這個路由,頁面是空白,然后在app.vue頁面引入iframe的組件,在<roter-view />下面加載這個iframe組件,通過v-show判斷$route.path === 'iframe的路由',如果是iframe頁面,iframe頁面就會正常加載出來,而且不管怎么跳轉路由都會保存當前狀態,也就相當于默認把iframe頁面加載出來,只是通過display:none隱藏,如果到這個iframe路由下了,再讓其顯示。

關于“Vue iframe更改src后頁面未刷新問題如何解決”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Vue iframe更改src后頁面未刷新問題如何解決”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

镇宁| 永登县| 鱼台县| 阿克苏市| 河源市| 东平县| 卓资县| 容城县| 彭州市| 阿拉善盟| 同仁县| 大港区| 册亨县| 邯郸市| 驻马店市| 什邡市| 开远市| 施秉县| 新和县| 兴仁县| 太康县| 彭州市| 双牌县| 武义县| 浮山县| 彭阳县| 梁河县| 海阳市| 平遥县| 沾益县| 凤阳县| 南和县| 马关县| 灵丘县| 吴旗县| 宣城市| 宜宾县| 吉林省| 庆云县| 冕宁县| 盐池县|