artDialog icon indicating copy to clipboard operation
artDialog copied to clipboard

嵌套调用artDialog时,数据无法穿透

Open RainyGao-GitHub opened this issue 4 years ago • 1 comments

RainyGao-GitHub avatar Jun 01 '21 01:06 RainyGao-GitHub

  1. 版本: artDialog版本:7.0.1

  2. 重现步骤: 在用artDialog打开的对话框页面里,再次调用artDialog打开另外一个页面

  3. 现象 嵌套调用artDialog时,对话框可以显示,但数据无法穿透(第二次调用获取到的dialog和data都是undefined)

  4. 问题分析 var artdialog = top.dialog.get(window) 输入数据window是正确的,但window里的dialog和data是undefined,所以应该是第二层调用artDialog时存在bug,导致没有正确传入dialog和data数据

  5. 代码调用流程 (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;

RainyGao-GitHub avatar Jun 02 '21 01:06 RainyGao-GitHub