第一步:UIWebView 加載要顯示的html,可來自網(wǎng)絡(luò),也可來自本地。
[_webViewloadHTMLString:htmlStringbaseURL:nil];
第二步:將javascript嵌入頁面中
(1)//給webView引用自定義的javascript,我在這里是寫在了一個(gè)js文件里
NSString*filePath = [[NSBundlemainBundle]pathForResource:@"ClickImg"ofType:@"js"];
NSString*js = [NSStringstringWithContentsOfFile:filePathencoding:NSUTF8StringEncodingerror:nil];
[webViewstringByEvaluatingJavaScriptFromString:js];
(2)網(wǎng)頁加載完畢后,為img元素添加onClick事件,即onClick觸發(fā)上述js文件中的setImage方法
- (void)webViewDidFinishLoad:(UIWebView*)webView{
[_webViewstringByEvaluatingJavaScriptFromString:@"setImage()"];
}
這里的就是調(diào)用js文件的setImage方法。
第三步:處理點(diǎn)擊事件
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType{
NSString*requestString = [[requestURL]absoluteString];
NSArray*components = [requestStringcomponentsSeparatedByString:@":"];
if([componentscount] >=1) {
//判斷是不是圖片點(diǎn)擊
if([(NSString*)[componentsobjectAtIndex:0]isEqualToString:@"imageclick"]) {
UIAlertView*alert = [[UIAlertViewalloc]
initWithTitle:@"click"
message:components[1]
delegate:selfcancelButtonTitle:nil
otherButtonTitles:@"OK",nil];
[alertshow];
returnNO;
}
returnYES;
}
returnYES;
}