浏览器新标签操作源页面元素

有一个这样的功能:点击页面中的链接,打开一个新的窗口(新标签),这个时候需要在新窗口的页面中操作源页面的元素或者调用里面的JS函数。刚开始看到这个需求的时候,我以为是做不了的,感觉浏览器不会给这种权限的,事实证明,我还是太嫩了~

其实这个功能实现起来很简单,把新打开的窗口当成是一个内嵌的 iframe 就可以了,众所周知,iframe 子窗口可以随意操作父级窗口里的元素,好了,废话说完了,直接上代码。

源页面代码

<a href="javascript:openUrl(url);" target="_blank">点击弹出新窗口</a>

<script type="text/javascript">
    function openUrl(url){
        // 此处一定要使用oepn的方式来打开窗口
        window.open(url);
    }

    function test(){
        console.log("测试调用");
    }
</script>

新页面代码

<script type="text/javascript">
    $(function(){
        // 取父窗口的元素方法:
        $(selector, window.parent.document);

        // 调用源页面内的JS方法
        // 注意这里一定要使用opener
        window.opener.test();
    });

 </script>

技术交流学习或者有任何问题欢迎加群:154514123

这里写图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值