artdialog弹出层open页面iframe间数据传递

  • 内容
  • 相关

“artdialog弹出层open页面iframe间数据传递”是什么意思?,实例解析:


页面中,调用artDialog插件的artDialog.open()方法打开iframeA.html,在iframeA.html页面中再调用artDialog.open()方法打开iframeB.html,点击iframeB.html页面内一链接,要将iframeB.html页面的数据传递到iframeA.html中,这就是上文所说的“artdialog弹出层open页面iframe间数据传递”,具体操作可看下面的gif动画示例图(注意a页面标红文字的变化):

artdialog.gif

要实现实例中的“artdialog弹出层open页面iframe间数据传递”,这里涉及到2个问题要处理:

1、要传递的数据怎么保存,方便在各个Iframe页面中共享数据;


该问题解决方法:


使用art.dialog.data()方法实现;


2、数据传递的时候,操作iframeB.html时,怎么往上一级iframe:iframeA.html页面传递数据;




该问题解决方法:


使用art.dialog.opener属性,在iframeB页面获取open方法触发来源页面window对象(即iframeA.html的window对象)

(注意这个iframeB中也必须引用artDialog脚本文件)


需要注意的是:


使用art.dialog.open()和 top.art.dialog.open()2种写法打开iframeB,再在iframeB中调用art.dialog.opener,获取到的 open方法触发来源页面的window对象是不一样的:前者得到的是open方法触发来源页面window对象,后者得到的始终是顶级父页面window对象!


调用artDialog.open()方法打开iframeA.html时,指定id属性为a,该属性可用来标识iframeA.html页面,写入数据时使用top.art.dialog.list["a"].iframe.contentDocument获取到iframeA页面的文档对象!


需要注意的是:


源码中的top.art.dialog.list的写法,必须指定top,否则art.dialog.list["a"]会返回undefined,而且调用close()方法关闭artdialog弹出层时,artdialog会报“Uncaught TypeError: Cannot read property 'close' of undefined”错误提示,具体如下图:

artdialogClose.jpg

另外artdialog关闭弹窗方法,写法:


ok()/cancel() 方法,调用this;

art.dialog.open.api;(iframe页面获取open方法扩展方法)

art.dialog.list[指定id](获取artdialog实例对象,进而获取实例对象下的close()方法)

artdialog弹出层open页面iframe间数据传递
         本页正文内容约1352个文字
         本文标签:

         版权声明:若无特殊注明,本文皆为“懒人的小窝”原创,转载请保留文章出处。

         本文链接:https://suppore.cn/555.html   百度已收录

发表评论

电子邮件地址不会被公开, 推荐使用QQ快速评论!

评论

3条评论
  1. avatar

    磨浆机 Lv.3 Chrome 45.0.2454.101 Chrome 45.0.2454.101 Windows 7 x64 Edition Windows 7 x64 Edition 回复

    踩踩

    重庆市 电信

    1. avatar

      天下豆花机 Lv.3 Chrome 45.0.2454.101 Chrome 45.0.2454.101 Windows 7 x64 Edition Windows 7 x64 Edition 回复

      学习学习

      重庆市 电信

      1. avatar

        星空中心 Lv.3 Chrome 21.0.1180.89 Chrome 21.0.1180.89 Windows 7 x64 Edition Windows 7 x64 Edition 回复

        很厉害啊

        江苏省连云港市 电信

        00:00 / 00:00
        顺序播放