如何获取layer.open弹窗中的页面变量和函数实例?
- 内容介绍
- 文章标签
- 相关推荐
本文共计678个文字,预计阅读时间需要3分钟。
最近做一个项目时遇到了一个问题:使用layer.open组件弹出层,需要将弹出层中特定页面单独抽取成公共页面。因为需要在主页面获取弹出层页面的相关变量或函数值。以下是解决思路和步骤:
1. 理解需求:明确需要将弹出层中的某个页面作为公共页面抽取出来,以便在主页面中访问其变量或函数。
2. 分析实现方式: - 在弹出层页面中,使用JavaScript将需要传递的变量或函数定义在全局范围内。 - 在主页面中,通过某种方式获取弹出层页面的全局变量或函数。
3. 具体操作步骤: - 在弹出层页面中,定义需要传递的变量或函数: javascript // 弹出层页面 var someVariable='value'; function someFunction() { // 函数内容 } window.publicData={ someVariable: someVariable, someFunction: someFunction }; - 在主页面中,通过layer.open弹出层时,将公共页面地址设置为弹出层页面的地址: javascript // 主页面 layer.open({ type: 2, title: '公共页面', shadeClose: true, shade: 0.8, area: ['600px', '400px'], content: 'path/to/public/page.' // 弹出层页面的地址 }); - 在弹出层打开后,可以通过以下方式访问公共页面中的变量或函数: javascript // 获取弹出层页面实例 var index=layer.open.index; // 获取公共页面中的变量 var publicVariable=layer.getFrameIndex(index).publicData.someVariable; // 调用公共页面中的函数 publicData.someFunction();
通过以上步骤,可以在主页面中访问弹出层页面中的公共变量和函数。
最近做项目遇到个问题
使用layer.open组件弹出层,需要将该弹出层抽取城单独的公共页面,因此需要在主页面获取弹出层页面的相关变量或者函数值。
记录下解决办法。
先来看layer.open函数
再来看弹出层URL对应的页面关键代码
将表单序列化成JS对象的函数是自己封装的一个JS函数,这里就不细说了,也可以自己手动定义个JS对象,自己给该对象添加属性
最后来看主页面调用方式
打印回调函数接收的变量可以看到,获取到弹出层内用户操作的相关数据。
最后,其实关键点就在于获取ifream中指定变量或者函数的这个方法
$(layero).find("iframe")[0].contentWindow.formData();
完毕!
以上这篇layer.open组件获取弹出层页面变量、函数的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。
本文共计678个文字,预计阅读时间需要3分钟。
最近做一个项目时遇到了一个问题:使用layer.open组件弹出层,需要将弹出层中特定页面单独抽取成公共页面。因为需要在主页面获取弹出层页面的相关变量或函数值。以下是解决思路和步骤:
1. 理解需求:明确需要将弹出层中的某个页面作为公共页面抽取出来,以便在主页面中访问其变量或函数。
2. 分析实现方式: - 在弹出层页面中,使用JavaScript将需要传递的变量或函数定义在全局范围内。 - 在主页面中,通过某种方式获取弹出层页面的全局变量或函数。
3. 具体操作步骤: - 在弹出层页面中,定义需要传递的变量或函数: javascript // 弹出层页面 var someVariable='value'; function someFunction() { // 函数内容 } window.publicData={ someVariable: someVariable, someFunction: someFunction }; - 在主页面中,通过layer.open弹出层时,将公共页面地址设置为弹出层页面的地址: javascript // 主页面 layer.open({ type: 2, title: '公共页面', shadeClose: true, shade: 0.8, area: ['600px', '400px'], content: 'path/to/public/page.' // 弹出层页面的地址 }); - 在弹出层打开后,可以通过以下方式访问公共页面中的变量或函数: javascript // 获取弹出层页面实例 var index=layer.open.index; // 获取公共页面中的变量 var publicVariable=layer.getFrameIndex(index).publicData.someVariable; // 调用公共页面中的函数 publicData.someFunction();
通过以上步骤,可以在主页面中访问弹出层页面中的公共变量和函数。
最近做项目遇到个问题
使用layer.open组件弹出层,需要将该弹出层抽取城单独的公共页面,因此需要在主页面获取弹出层页面的相关变量或者函数值。
记录下解决办法。
先来看layer.open函数
再来看弹出层URL对应的页面关键代码
将表单序列化成JS对象的函数是自己封装的一个JS函数,这里就不细说了,也可以自己手动定义个JS对象,自己给该对象添加属性
最后来看主页面调用方式
打印回调函数接收的变量可以看到,获取到弹出层内用户操作的相关数据。
最后,其实关键点就在于获取ifream中指定变量或者函数的这个方法
$(layero).find("iframe")[0].contentWindow.formData();
完毕!
以上这篇layer.open组件获取弹出层页面变量、函数的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。

