开发者社区> 问答> 正文

ios webview 调用js替换html中得图片

success:function(data){
                    $(".impBox").html(data.htmlLetterBody);
                    //私有图片名
                    var imgMetaStr = data.letterPrivateImgMeta;
                    //获取私有图片action
                    var getPrivateImgUrl = "http://"+document.domain+"/mail/mailAction/openImage?archGroup="+archGroup+"&archVol="+archVol+"&archStart="+archStart;
                    $.each($(".impBox").find("img"), function(i, v){
                        var imgSrc = $(this).attr("src");
                        var imgSrcArr = imgSrc.split("/");
                        var imgName = imgSrcArr[imgSrcArr.length - 1];
                        if(imgSrc.substring(0, 4) != "http" && imgMetaStr.indexOf(imgName) != -1){
                            $(this).attr("src", getPrivateImgUrl+"&imageName="+imgName);
                        }
                    }<span style="color: rgb(229, 51, 51);"></span>

上面是js替换html图片的代码,在IOS客户端中,webview调用的js方法如下,大家帮忙看看这样加入js代码有什么问题

[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:

                                                 @"var script = document_createElement_x_x('script');"
                                                 "script.type = 'text/javascript';"<span style="background-color: rgb(255, 255, 255);"></span> "script.text = \"function changeImage() {"
                                                 "$(\".impBox\").html(%@);"
                                                 "var imgMetaStr = %@;"
                                                 "var getPrivateImgUrl = \"http://192.168.1.91:8080/mail/mailAction/openImage?archGroup=\"+%@+\"&archVol=\"+%@+\"&archStart=\"+%@;"
                                                 "$.each($(\".impBox\").find(\"img\"), function(i, v){"
                                                 "var imgSrc = $(this).attr(\"src\");"
                                                 "var imgSrcArr = imgSrc.split(\"/\");"
                                                 "var imgName = imgSrcArr[imgSrcArr.length - 1];"
                                                 "if(imgSrc.substring(0, 4) != \"http\" && imgMetaStr.indexOf(imgName) != -1)  {"
                                                 " $(this).attr(\"src\", getPrivateImgUrl+\"&imageName=\"+imgName);"
                                                 "}\";"
                                                  
                                                 "}\";"
                                                 "document.getElementsByTagName

展开
收起
杨冬芳 2016-06-28 17:23:51 2777 0
1 条回答
写回答
取消 提交回答
  • IT从业

    用jquery 的 lazyload (

    2019-07-17 19:48:31
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
手淘iOS性能优化探索 立即下载
From Java/Android to Swift iOS 立即下载
深入剖析iOS性能优化 立即下载