用一个变量调用父页面不同function的方法

 问题:

现在有两个用java模板引擎写的vm页面,要把它们改成HTML

父页面

父页面有个跳转链接,带了个叫callBackFun的参数,它的值是写在父页面的方法名

子页面 

 跳转子页面后要执行父页面对应的function

 

 问题在于,在纯HTML里这样点callBackFun获取到的会是父页面的callBackFun,而不是我们想要的传参里那个方法名

parent.callBackFun

 改造

 首先获取到链接带的参数

getUrlParam是我封装的方法 

 父页面基本不用动,子页面改写

 把

parent.callBackFun

转成字符串,就可以将callBackFun这个变量里的方法名加进去了,接着执行这个字符串

(new Function("return " + tempFun))()

这个方法据说是不安全的,可以参考参考 这个文章

【译】以 eval() 和 new Function() 执行JavaScript代码 - 简书

 这里面说的方法也是有效的,可以考虑取缔我上面那种做法

 

此外,如果子页面所要调用的方法相对固定,那还有一种方法就是舍弃callBackFun传参,直接子页面调用父页面方法 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值