大家好,又见面了,我是你们的朋友全栈君。
layer 弹出层轻量好用,一直喜欢用,但是却没有弹出层传参的接口,迫于无奈只能Url地址传参,总所周知,这个可是限制大小的,百度一番,看看大神们怎么处理,结果就感觉所有回答都是Ctrl+C 加 Ctrl+V ,全是地址栏传参,页面缓存、cookie 、localstorage ,本着不甘心的原则,就想为什么不能在open的时候把参数一起作为属性传递了,强行看了layer源码(扒光慢慢看),于是乎就把源码改了下(作者请原谅我,我只是不爽),看了下源码发现 open方法基本上所有弹框都会调用,修改此处的好处,相比大家也明白,下面贴出修改位置 :打开源码(虽然压缩混淆了,但是还是可以看懂的),搜索 f.open ,对这就是修改的地方,里面new 了一个g 对象,没错这就是暴露出来的对象(共有对象),只需要在把参数暴露出来就好,这里加上 f.methodConfig,暴露的名字自己取
然后是界面获取参数的方法,大家都知道 调用layer后,都会在window命名空间下有个layer对象,layer.methodConfig 就是需要的参数,(桥豆麻袋)想必看到这里的小伙伴已经在试了,结果反选 iframe的获取layer.methodConfig 为 undefined ,当然了,你这是在父页面调用的对象,当然得去问老爸讨要(给点钱疤,已经吃了好几天土了),(当当糖) parent.layer.methodConfig 拿去吧,不会让你吃土的,这辈子都不会。
iframe 获取,data属性就是传输的参数:
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/158434.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...