佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > 關(guān)于解決iframe標(biāo)簽嵌套問(wèn)題的解決方法

關(guān)于解決iframe標(biāo)簽嵌套問(wèn)題的解決方法

熱門(mén)標(biāo)簽:阿里云 使用U盤(pán)裝系統(tǒng) 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 智能手機(jī) 檢查注冊(cè)表項(xiàng) 美圖手機(jī) 網(wǎng)站建設(shè) 硅谷的囚徒呼叫中心

問(wèn)題描述

當(dāng)我們使用easyui做后臺(tái)管理系統(tǒng)的時(shí)候,會(huì)使用tree組件來(lái)實(shí)現(xiàn)樹(shù)形菜單,而我們每點(diǎn)擊一次相應(yīng)菜單,會(huì)根據(jù)是否有url來(lái)判斷是否是一級(jí)菜單,以及是否已經(jīng)存在

//根據(jù)該節(jié)點(diǎn)名字判斷該節(jié)點(diǎn)是否存在
                if ($("#tabs").tabs("exists",node.text)){
                    //如果存在就直接選中
                    $("#tabs").tabs("select",node.text);
                }

如果為否,我們就會(huì)嵌套一個(gè)iframe標(biāo)簽來(lái)打開(kāi)一個(gè)相應(yīng)的html窗口

$("#tabs").tabs("add",{
                        //標(biāo)題為當(dāng)前節(jié)點(diǎn)的名稱(chēng)
                        title:node.text,
                        //沒(méi)有邊框
                        border:false,
                        //是否顯示關(guān)閉按鈕
                        closable:true,
                        //嵌套iframe標(biāo)簽
                        content:"<iframe frameborder='0' src='"+node.url+"' width='100%' height='100%'/>"
                    })

而此時(shí)有一個(gè)什么樣的問(wèn)題呢?有這樣一個(gè)情況,當(dāng)我們?cè)谕粋€(gè)瀏覽器中,在A和B兩個(gè)選項(xiàng)卡中都打開(kāi)了后臺(tái)管理頁(yè)面,然后我們?cè)贏頁(yè)面進(jìn)行了注銷(xiāo)操作,此時(shí)到A頁(yè)面點(diǎn)擊“員工管理”,那么此時(shí)應(yīng)該要實(shí)現(xiàn)全局刷新并返回到登錄頁(yè)面,如下圖所示


但是此時(shí),由于我們嵌套iframe的緣故,當(dāng)我們點(diǎn)擊員工管理,正常發(fā)送的請(qǐng)求是/employee/index,而此時(shí)由于已經(jīng)logout,那么當(dāng)前用戶(hù)未認(rèn)證

content:"<iframe frameborder='0' src='"+node.url+"' width='100%' height='100%'/>"

所以這里的iframe窗體的url地址就會(huì)變成login.jsp,從而演變成了iframe嵌套問(wèn)題,也就是如下圖所示:

解決思路

在我們html中,每一個(gè)打開(kāi)的窗體都有一個(gè)window對(duì)象,例如我們上圖所示,如果站在內(nèi)層窗體的角度來(lái)講,實(shí)際上外層窗體其實(shí)就是內(nèi)層窗體的父窗體(如果打開(kāi)很多個(gè)嵌套,那么最外層窗體就是top),如果要獲取外層窗體也很簡(jiǎn)單,就是window.parent。
此時(shí),如果我們要打開(kāi)i的窗體不是最外層窗體,我們只需要將最外層的窗體對(duì)象賦值給當(dāng)前窗體即可

//如果當(dāng)前的窗體不是最外層窗體
        if (window != top){
            //那么就將最外層窗體的的地址賦給當(dāng)前窗體
            top.location.href = window.location.href;
        }

到此這篇關(guān)于關(guān)于解決iframe標(biāo)簽嵌套問(wèn)題的解決方法的文章就介紹到這了,更多相關(guān)iframe標(biāo)簽嵌套內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!

標(biāo)簽:黃山 煙臺(tái) 山南 懷化 湖北 通遼 湘潭 賀州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《關(guān)于解決iframe標(biāo)簽嵌套問(wèn)題的解決方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話(huà)咨詢(xún)

    • 400-1100-266
    长寿区| 灌南县| 隆安县| 靖远县| 余江县| 福安市| 鄂托克前旗| 靖宇县| 高清| 淳安县| 嵩明县| 桓台县| 洱源县| 河曲县| 平乡县| 丰台区| 庐江县| 儋州市| 徐汇区| 霍林郭勒市| 怀集县| 井研县| 临湘市| 唐河县| 安远县| 五家渠市| 米林县| 林芝县| 湖南省| 称多县| 乌恰县| 垣曲县| 萨嘎县| 乡城县| 永宁县| 醴陵市| 敦煌市| 闽清县| 沈丘县| 西和县| 鄂托克前旗|