蜜桃av色欲a片精品一区,麻豆aⅴ精品无码一区二区,亚洲人成网站在线播放影院在线,亚洲 素人 字幕 在线 最新

微立頂科技

新聞資訊

創(chuàng)新 服務(wù) 價(jià)值

  artdialog彈出層open頁(yè)面iframe間數(shù)據(jù)傳遞

發(fā)布日期:2023/2/28 8:34:06      瀏覽量:

“artdialog彈出層open頁(yè)面iframe間數(shù)據(jù)傳遞”是什么意思?,實(shí)例解析:

頁(yè)面中,調(diào)用artDialog插件artDialog.open()方法打開a頁(yè)面:iframeA.html,在a頁(yè)面中再調(diào)用artDialog.open()方法打開b頁(yè)面:iframeB.html,點(diǎn)擊b頁(yè)面內(nèi)一鏈接,要將b頁(yè)面的數(shù)據(jù)傳遞到a頁(yè)面中,這就是上文所說(shuō)的“artdialog彈出層open頁(yè)面iframe間數(shù)據(jù)傳遞”,具體操作可看下面的gif動(dòng)畫示例圖(注意a頁(yè)面標(biāo)紅文字的變化):

要實(shí)現(xiàn)示例圖片中的效果,這里涉及到2個(gè)問題要處理:

1、要傳遞的數(shù)據(jù)怎么保存,方便在各個(gè)Iframe頁(yè)面中操作該數(shù)據(jù)

使用art.dialog.data()方法實(shí)現(xiàn);
基本用法:

添加:art.dialog.data(變量名,值); // 跨框架數(shù)據(jù)共享接口,保存在頂層框架下面
刪除:art.dialog.removeData(變量名);

2、b頁(yè)面點(diǎn)擊確定按鈕后,怎么操作b頁(yè)面元素,關(guān)鍵在于怎么獲取b頁(yè)面的文檔對(duì)象?

最直接的操作方法:

art.dialog.open(’xx.html’, {
ok:function(ifrWin,topWin){ //ifrWin:iframe window對(duì)象,topWin:頂級(jí)頁(yè)面 window對(duì)象

var ifrDoc=ifrWin.document;  // iframe document對(duì)象,能獲取到這個(gè)查找元素自然就沒什么難度啦!

}
})

art.dialog.open(’xx.html’, {
ok:function(){

var ifrWin= this.iframe.contentWindow,

ifrDoc=this.iframe.contentDocument; //ifrWin:iframe window對(duì)象; ifrDoc: iframe document對(duì)象

}
})

另外,開發(fā)中比較常見的應(yīng)用場(chǎng)景是:b頁(yè)面里面是一系列的表單,點(diǎn)確定按鈕后如果表單有漏洞填或不符合填寫規(guī)則,則阻止關(guān)閉彈窗,并在彈窗頁(yè)面內(nèi)給出錯(cuò)誤提示,關(guān)鍵代碼:

art.dialog.open(’xx.html’, {
ok:function(ifrWin,topWin){

var noError=ifrWin.formOk(); // 調(diào)用b頁(yè)面定義的formOk()方法,檢測(cè)彈窗表單填寫是否符合規(guī)則,完全符合返回true,有誤則返回false;

if(!noError) return false; //阻止關(guān)閉彈窗

}
})

使用art.dialog.opener屬性:

在b頁(yè)面獲取open方法觸發(fā)來(lái)源a頁(yè)面window對(duì)象,然后art.dialog.opener.document,是可以獲取到a頁(yè)面的文檔對(duì)象的 (注意這個(gè)b頁(yè)面中也必須引用artDialog腳本文件)

需要注意的是:

調(diào)用觸發(fā)多個(gè)彈窗時(shí),使用art.dialog.open()和 top.art.dialog.open()2種寫法打開b頁(yè)面,再在b頁(yè)面中調(diào)用art.dialog.opener,獲取到的 觸發(fā)來(lái)源頁(yè)面的window對(duì)象是不一樣的:前者得到的是open方法觸發(fā)來(lái)源a頁(yè)面window對(duì)象,后者得到的始終是頂級(jí)父頁(yè)面window對(duì)象!

調(diào)用artDialog.open()方法打開a頁(yè)面時(shí),指定id屬性為a,該屬性可用來(lái)標(biāo)識(shí)a頁(yè)面,寫入數(shù)據(jù)時(shí)使用top.art.dialog.list["a"].iframe.contentDocument獲取到a頁(yè)面的文檔對(duì)象,但之法比較冗長(zhǎng),推薦上面的寫法!

源碼中的top.art.dialog.list的寫法,必須指定top,否則art.dialog.list["a"]會(huì)返回undefined,而且調(diào)用close()方法關(guān)閉artdialog彈出層時(shí),artdialog會(huì)報(bào)“Uncaught TypeError: Cannot read property ’close’ of undefined”錯(cuò)誤提示,具體如下圖:

另外artdialog關(guān)閉彈窗方法,寫法:

  1.  ok()/cancel() 方法中,調(diào)用this.close();
  2.  art.dialog.open.api.close();(b頁(yè)面獲取open方法擴(kuò)展方法)
  3.  art.dialog.list[指定id].close()(獲取artdialog實(shí)例對(duì)象,進(jìn)而獲取實(shí)例對(duì)象下的close()方法)



  業(yè)務(wù)實(shí)施流程

需求調(diào)研 →

團(tuán)隊(duì)組建和動(dòng)員 →

數(shù)據(jù)初始化 →

調(diào)試完善 →

解決方案和選型 →

硬件網(wǎng)絡(luò)部署 →

系統(tǒng)部署試運(yùn)行 →

系統(tǒng)正式上線 →

合作協(xié)議

系統(tǒng)開發(fā)/整合

制作文檔和員工培訓(xùn)

售后服務(wù)

馬上咨詢: 如果您有業(yè)務(wù)方面的問題或者需求,歡迎您咨詢!我們帶來(lái)的不僅僅是技術(shù),還有行業(yè)經(jīng)驗(yàn)積累。
QQ: 39764417/308460098     Phone: 13 9800 1 9844 / 135 6887 9550     聯(lián)系人:石先生/雷先生