• IOS修改webView背景透明以及IOS调用前台js的方法


    工作上遇到IOS的webView中的H5页面需要透明以显示webView的背景颜色。用H5自身的透明度的css样式或者js控制背景颜色及透明度都打不到想要的效果,最后还是通过ios设置webView中的body颜色及透明度来实现的,具体代码如下:

    -(void) webViewDidFinishLoad:(UIWebView *)webView
    {
            [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.background='rgba(0,0,0,0)'"];
    }

    于是H5页面就透明并且显示webView的背景颜色了。Android的目前还没有研究怎么去设置webView中的H5页面的背景。后续有时间了研究一下。

    顺便提一下IOS调用前台页面js方法的写法:

    首先要在页面内添加定义一个js方法,并且return一个返回值,例如:

    复制代码
    //查看更多 ios调用方法
    function getParameterForIOS (parameter) {
        var result="";
        var city=sessionStorage.getItem("usedCarCity001");
        var is_type=sessionStorage.getItem("usedCarCertification002");
        if(is_type=="true"){
            is_type = 0;
        }else{
            is_type = 1;
        }
        //city
        if (parameter=="city") {
            result=city;
        }
        //is_type
        if (parameter=="certification") {
            result=is_type;
        }
        return result;
    }
    复制代码

    然后在IOS中,webView加载开始或者结束的时候调用该方法,例如:

    - (void)webViewDidStartLoad:(UIWebView *)webView
    {
            NSString *certification = [webView stringByEvaluatingJavaScriptFromString:@"getParameterForIOS('certification')"];
            
    }

    得到的返回值赋给变量进行使用。

  • 相关阅读:
    elastic-job-console
    CentOS7_安装mysql5.7
    CentOS7_开放指定端口
    CentOS7_防火墙
    Docker-CentOS7-安装
    MySQL_写锁_lock tables tableName write
    cesium 动态流动纹理
    cesium加载二维贴地的地名(本地地名数据)
    python3.6安装open AI gym环境(windows)
    python PIL打开较大的tif影像时出错-OSError: cannot identify image file Image.open
  • 原文地址:https://www.cnblogs.com/isItOk/p/4968838.html
Copyright © 2020-2023  润新知