鍍金池/ 問(wèn)答/HTML/ 在系統(tǒng)中而非瀏覽器中打開(kāi)新的tab頁(yè),使用iframe和切換display有什么

在系統(tǒng)中而非瀏覽器中打開(kāi)新的tab頁(yè),使用iframe和切換display有什么優(yōu)勢(shì)?有經(jīng)驗(yàn)的進(jìn)

背景:
上次陳述過(guò)這個(gè)問(wèn)題,不知道你們有沒(méi)有做過(guò)類似這樣的軟件:

clipboard.png

在系統(tǒng)內(nèi)部打開(kāi)新的tab,
系統(tǒng)用的react,當(dāng)時(shí)有兩個(gè)選擇:

  • 1 就是使用antd的tab組件
  • 2 看過(guò)好幾個(gè)類似系統(tǒng),都用的iframe(但是他們不是用的react)

現(xiàn)在,經(jīng)過(guò)千難險(xiǎn)阻,已經(jīng)用iframe實(shí)現(xiàn)完了,但做完過(guò)后我有幾個(gè)問(wèn)題覺(jué)得是不是自己理解的不深,現(xiàn)想跟大家探討

  • 1 使用iframe有點(diǎn)在哪?
    充分利用當(dāng)前網(wǎng)頁(yè)資源,極大的利用瀏覽器分配的內(nèi)存么?若是這樣,antd的tab組件宣稱也做了一些封裝,并不是簡(jiǎn)單的來(lái)回切換display,那么我當(dāng)初是否能直接利用antd的tab組件來(lái)代替iframe??
回答
編輯回答
尐懶貓

在google瀏覽器中比較了一下,使用antd的tabs和使用多個(gè)iframe。
初步結(jié)論:打開(kāi)多個(gè)tab頁(yè),兩者占用瀏覽器內(nèi)存都為當(dāng)前打開(kāi)的tab頁(yè),當(dāng)前打開(kāi)的tab頁(yè)很大,兩者都會(huì)渲染崩潰,iframe并沒(méi)有什么明顯優(yōu)勢(shì)。

2017年7月2日 07:24
編輯回答
耍太極

能不用iframe就不要用。
一定要用的話,react中有iframe的組件,請(qǐng)使用組件,不要直接使用<iframe />
antdtab是你最佳的選擇。

iframedisplay都沒(méi)有優(yōu)勢(shì)。

只用一個(gè)div就可以了。
每次切換tab的時(shí)候,把tab所對(duì)應(yīng)的組件加載進(jìn)來(lái)就好了。
例如:

<div>
    {tab === 1 && <FirstTabComponent />}
    {tab === 2 && <SecondTabComponent />}
</div>
2017年12月22日 22:16