美文网首页iOS Webview JS交互
UIWebView加载html,使网页中的图片可点击

UIWebView加载html,使网页中的图片可点击

作者: 妳笇what | 来源:发表于2015-12-24 14:41 被阅读342次

    第一步:UIWebView 加载要显示的html,可来自网络,也可来自本地。

    [_webViewloadHTMLString:htmlStringbaseURL:nil];

    第二步:将javascript嵌入页面中

    (1)//给webView引用自定义的javascript,我在这里是写在了一个js文件里

    NSString*filePath = [[NSBundlemainBundle]pathForResource:@"ClickImg"ofType:@"js"];

    NSString*js = [NSStringstringWithContentsOfFile:filePathencoding:NSUTF8StringEncodingerror:nil];

    [webViewstringByEvaluatingJavaScriptFromString:js];

    (2)网页加载完毕后,为img元素添加onClick事件,即onClick触发上述js文件中的setImage方法

    - (void)webViewDidFinishLoad:(UIWebView*)webView{

    [_webViewstringByEvaluatingJavaScriptFromString:@"setImage()"];

    }

    这里的就是调用js文件的setImage方法。

    第三步:处理点击事件

    - (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType{

    NSString*requestString = [[requestURL]absoluteString];

    NSArray*components = [requestStringcomponentsSeparatedByString:@":"];

    if([componentscount] >=1) {

    //判断是不是图片点击

    if([(NSString*)[componentsobjectAtIndex:0]isEqualToString:@"imageclick"]) {

    UIAlertView*alert = [[UIAlertViewalloc]

    initWithTitle:@"click"

    message:components[1]

    delegate:selfcancelButtonTitle:nil

    otherButtonTitles:@"OK",nil];

    [alertshow];

    returnNO;

    }

    returnYES;

    }

    returnYES;

    }

    相关文章

      网友评论

        本文标题:UIWebView加载html,使网页中的图片可点击

        本文链接:https://www.haomeiwen.com/subject/xjvvhttx.html