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‘)"];

}

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

时间: 2024-08-11 01:20:20

IOS修改webView背景透明以及IOS调用前台js的方法的相关文章

C#后台调用前台js封装方法

其他不多说,直接上例子,我引用的是layer弹框的移动端插件 一.页面<head>调用下面方法 <script src="/js/layer.js"></script> <script> function alertFn(msg) { layer.open({ content: msg , shadeClose: false, btn: ['OK'], yes: function () { location.href = "de

asp.net调用前台js调用后台代码分享

C#前台js调用后台代码 前台js <script type="text/javascript" language="javascript"> function Ceshi() { var a = "<%=Getstr()%>"; alert(a); } </script> <input type="button" onclick="Ceshi();" value=

ASP.NET后台调用前台JS函数的三种常见方法

第一种:使用普通的添加控件中的Attributes属性进行调用 例如,像一般的普通的按钮:Button1.Attributes.Add("onclick","MyFun();"); 此方法只能在Onload中或者类似于onload的初始化过程中添加才有效.并且是先执行脚本函数,同时无法改变执行顺序. 第二种:使用Response.Write方法进行调用 例如,像我们经常会使用到的Response.Write("<scripttype='text/ja

C#后台调用前台js(RegisterStartupScript)

C#后台调用前台js代码前台js<script type="text/javascript" language="javascript"> function Ceshi() { var a = "你们好啊!" alert(a); }</script><asp:Button ID="Button1" runat="server" Text="后台调用js" o

【IOS】UISearchBar背景透明,去掉背景,自定义背景

ios6,ios7,ios7.1下设置UISearchbar的背景色 ios系统升级到7.1后,原来在7.0下显示正常的UISearchbar现在又出现问题了.究其原因,是由于UISearchbar的subview又做修改了. 1 //修改searchBar样式 2 3 - (void)changeSearchBar { 4 5 float version = [[[UIDevice currentDevice] systemVersion] floatValue]; 6 7 if ([_sea

egret调用页面js的方法。

参考文献: http://bbs.egret-labs.org/thread-267-3-1.html http://docs.egret-labs.org/post/manual/threelibs/uselibs.html 假设我的项目在c:\egret\demo 1. 项目发布后,有一个index.html,添加一段js: <script type="text/javascript">// http://bbs.egret-labs.org/forum.php?mod

关于.net后台调用前台js方法

在服务器端的后台代码Button_Click事件中调用一个JS写的方法 protected void btnShow_Click(object sender, EventArgs e) {//这是Button处理事件的第一句 调用客端的js函数Page.RegisterStartupScript("showDiv", "<script>ShowDiv()</script>");//但是VS会提示这种方法已经过时了,但是还是可以使用的!如果比较

.net 后台调用前台JS

后台调用前台方法: 两种方式:第一种,初始化时JS加载,缺点:多个方法调用时会出现调用不到JS问题 ClientScript.RegisterStartupScript(typeof(Page), "", "ProjectInfo(" + 参数 + ")", true); 第二种,事件发生时,触发JS事件,(推荐第二种方法). ClientScript.RegisterClientScriptBlock(typeof(Page), "&

iOS导航栏背景透明渐变

重点分析: 1.隐藏导航的最下面的线. 2.设置导航背景的不透明度(ios7.0以上不用设置,translucent默认的就是Yes不用修改,但如果别人修改了或出现那种情况,需要设置为Yes). 3.页面消失时导航恢复原样. 4.滚动时调用方法设置alpha来控制导航背景的渐变(也是核心,重点在这里). 核心代码如下: 1.将颜色转换为图片 - (UIImage *)imageWithColor:(UIColor *)color { //创建1像素区域并开始图片绘图 CGRect rect =