嵌套调用artDialog时,数据无法穿透
-
版本: artDialog版本:7.0.1
-
重现步骤: 在用artDialog打开的对话框页面里,再次调用artDialog打开另外一个页面
-
现象 嵌套调用artDialog时,对话框可以显示,但数据无法穿透(第二次调用获取到的dialog和data都是undefined)
-
问题分析 var artdialog = top.dialog.get(window) 输入数据window是正确的,但window里的dialog和data是undefined,所以应该是第二层调用artDialog时存在bug,导致没有正确传入dialog和data数据
-
代码调用流程 (1)在project.html中第一次调用artDialog显示对话框 function showZipInArtDialog(docInfo) { var d = dialog({ id: "ZipViewer" + docInfo.docId, title: docInfo.name, url: 'zipViewerForArt.html', msg: '页面正在加载,请稍等...', data: docInfo, }); d.show(); } 此时在zipViewerForArt.htm中通过以下代码能够获取到dialog和dialog的data: var artDialog = top.dialog.get(window); var docInfo = artDialog.data;
(2)然后在zipViewerForArt.htm中再次调用artDialog创建对话框 function showTextInArtDialog(docInfo) { var d = dialog({ id: "TextEditor" + docInfo.docId, title: docInfo.name, url: 'textEditorForArt.html', msg: '页面正在加载,请稍等...', data: docInfo, }); d.show(); } 此时在textEditorForArt.htm中通过以下代码无法获取到dialog和dialog的data(全都是undefined): var artDialog = top.dialog.get(window); var docInfo = artDialog.data;