安卓调用webview中iframe定义方法(适用于数据回调给webview)

admin2年前实践出真知912

首先在html中用js获取到当前页面的层级

//递归获取当前嵌套在iframe页面的层级位置
    function getSelfWindowPath(win, index){
        if(win.parent.frames.length > 0){
            for(var i = 0; i < win.parent.frames.length; i++){
                if(win.parent.frames[i] === win){
                    return 'window.frames[' + index + '].' + getSelfWindowPath(win.parent.frames[i].parent, i);
                }
            }
        }
        return 'window';
    }
    //把这个传给原生安卓
    var windowPath = getSelfWindowPath(window, index);
    
    //原生安卓要调用的方法
    function commeCallme(msg){
       alert('被调用了' + msg);
    }

将以上位置传给原生安卓

原生安卓中直接

//windowPath 为传过来的层级信息
mWebView.loadUrl("javascript:" + windowPath + ".commeCallme('message')");


相关文章

ubuntu通过docker-compose更快的迁移我的博客

安装dcoker方式移步 记一次博客的迁移(Ubuntu安装docker部署博客)安装docker-composewget https://github.com/docker/co...

docker部署minio

docker部署minio

docker安装方式 移步 https://note.centos7.online/?id=27一、拉取镜像docker pull minio/minio二、启动容器do...

关于时间的处理(时间范围生成,mysql按照天,周,月统计)

mysql的查询语句 #周  select FROM_UNIXTIME(create_time,'%Y%u') weeks,count(cas...

openfeign在单体项目用法

公司项目需要与其他系统对接,常规的httpClient写法,不符合我大道至简的理念,于是研究了一下openfeign,本文只是提供一个思路,具体还需要根据实际场景进行完善。一、加入依赖我使用的spri...

PHP造一个$_PUT

$_PUT = array(); if ('PUT' == $_SERVER['REQUEST_METHOD'])&...

linux下利用nc监听端口的玩法

ubuntu/debian开机启动设置,移步这里家里有一些小服务器玩具,由于家里网络都是dhcp获取ip地址,ip地址可能会出现变动。那么如果在服务器上监听一个特殊端口,通过内网扫描指定的特殊端口,即...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。