UIWebview JS 交互

mark! UIwebview 通过jquery 和用户交互信息:

[objc] view plaincopy

  1. NSstring *html=@"<!DOCTYPE html PUBLIC ‘-//W3C//DTD XHTML 1.0 Transitional//EN‘ ‘http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd‘><html xmlns=‘http://www.w3.org/1999/xhtml‘><head runat=‘server‘><meta http-equiv=‘Content-Type‘ content=‘text/html; charset=UTF-8‘><title>阿速度发送地方</title><script src=‘http://d5mt.xj169.com/Miaosha/images/jquery-1.7.2.min.js‘ type=‘text/javascript‘></script><meta http-equiv=‘Cache-Control‘ content=‘must-revalidate,no-cache‘><meta id=‘viewport‘   name=‘viewport‘ content=‘width=device-width, maximum-scale=2,minimum-scale=1,initial-scale=1.000000‘><meta name=‘MobileOptimized‘ content=‘240‘></head><body> <script type=‘text/javascript‘>$(document).ready(function() {shows(); $(‘#imgurl‘).click(function (){shows();});}); function shows(){alert(‘123456789‘);}</script> <img style=‘height:20px; width:80px;‘ id=‘imgurl‘ src=‘https://www.google.com.hk/images/srpr/logo11w.png‘></img><p>1.asdfasdfasdfasdfasdfasdf</p><p>2.asdfasdfasdfasdfasdfasdf</p><p>3.asdfasdfasdfasdfasdfasdf</p><p>4.asdfasdfasdfasdfasdfasdf</p><p>5.asdfasdfasdfasdfasdfasdf</p><p>1.asdfasdfasdfasdfasdfasdf</p><p>2.asdfasdfasdfasdfasdfasdf</p><p>3.asdfasdfasdfasdfasdfasdf</p><p>4.asdfasdfasdfasdfasdfasdf</p><p>5.asdfasdfasdfasdfasdfasdf</p><p>1.asdfasdfasdfasdfasdfasdf</p><p>2.asdfasdfasdfasdfasdfasdf</p><p>3.asdfasdfasdfasdfasdfasdf</p><p>4.asdfasdfasdfasdfasdfasdf</p><p>5.asdfasdfasdfasdfasdfasdf</p><p>1.asdfasdfasdfasdfasdfasdf</p><p>2.asdfasdfasdfasdfasdfasdf</p><p>3.asdfasdfasdfasdfasdfasdf</p><p>4.asdfasdfasdfasdfasdfasdf</p><p>5.asdfasdfasdfasdfasdfasdf</p><p>1.asdfasdfasdfasdfasdfasdf</p><p>2.asdfasdfasdfasdfasdfasdf</p><p>3.asdfasdfasdfasdfasdfasdf</p><p>4.asdfasdfasdfasdfasdfasdf</p><p>5.asdfasdfasdfasdfasdfasdf</p></body></html>";
  2. [web loadHTMLString:html baseURL:nil];

这样 内容加载完后 自动执行弹窗 还有点击图片也可以弹窗, 这时候弹出提示框回属于系统自带的内容不是我们需要的,那么可以通过

- (void)webView:(UIWebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame;  这个方法来处理;具体如下:

[objc] view plaincopy

  1. - (void)webView:(UIWebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame {
  2. UIAlertView* customAlert = [[UIAlertView alloc] initWithTitle:@"提示信息" message:message delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil];
  3. [customAlert show];
  4. [customAlert autorelease];
  5. }

如此,我们还可以通过jquery 调用程序事件,前提是 你的触发事件要输出这个串:{window.location=‘image‘;} 通过下面的方法 调用

[objc] view plaincopy

    1. -(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
    2. {
    3. if([request.mainDocumentURL.relativePath isEqualToString:@"/image"])
    4. {
    5. NSLog(@"点击图片");
    6. }
    7. ]
时间: 2024-10-09 12:54:41

UIWebview JS 交互的相关文章

UIWebView和WKWebView的使用及js交互

UIWebView和WKWebView的使用及js交互 web页面和app直接的交互是很常见的东西,之前尝试过flex和js的相互调用以及android和js的相互调用,却只有ios没试过,据说比较复杂.周末花了点时间研究了一下,确实和其他的不太一样,但是 也不见复杂. 要知道的事情 ios的webview有2个类,一个叫UIWebView,另一个是WKWebView.两者的基础方法都差不多,本文重点是后者,他是取代UIWebView出现的,在app开发者若不需要兼容ios8之前版本,都应该使用

UIWebView,WKWebView 与js交互

现在越来越多的APP需要进行网页之间的交互了,而在iOS中,加载网页的方式为UIWebView与WKWebView这两个控件. 今天就来讲一讲这两个控件怎么进行js交互吧.至于这两个控件之间的区别应该都懂..那我就不说了. 1.UIWebView - (nullable NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script; 在UIWebView中提供了这个方法,这个方法就是用来执行js的 <!DOCTYPE h

UIWebView和Js交互

在日常的ios项目开发中,我们经常会在原生应用中嵌入web页面,通常我们只是进行一个展示,没有其它的一些功能.但是也有一些项目中需要web页面中的html和native进行交互.但是ios sdk 并没有相应的方法来让我们做到js代码来和原生进行交互.但是webview在加载前会调用其一个delegate方法,通过监听- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request na

webView和js交互

与 js 交互 OC 调用 JS // 执行 js - (void)webViewDidFinishLoad:(UIWebView *)webView { NSString *title = [webView stringByEvaluatingJavaScriptFromString:@"document.title;"]; NSLog(@"%@", title); [webView stringByEvaluatingJavaScriptFromString:@

WKWebView与JS交互实战技巧之API介绍

前言 前一章我给大家介绍了iOS与HTML5的交互,用的是UIWebView,今天给大家介绍另外一种基于 iOS 8 新推出的 WKWebView 组件,构建出自己的混合开发框架. WKWebView 简介 WKWebView 是苹果在 iOS 8 中引入的新组件,目的是给出一个新的高性能的 Web View 解决方案,摆脱过去 UIWebView 的老旧笨重特别是内存占用量巨大的问题. 苹果将 UIWebViewDelegate 与 UIWebView 重构成了 14 个类和 3 个协议,引入

利用WebViewJavascriptBridge与UIWebView进行交互

事情的起因还是因为项目需求驱动.折腾了两天,由于之前没有UIWebView与JS交互的经历,并且觉得这次在功能上有一定的创造性,特此留下一点文字,方便日后回顾. 我要实现这样一个需求:按照本地的CSS文件展示一串网络获取的带HTML格式的只有body部分的文本,需要自己拼写完整的HTML.除此之外,还需要禁用获取的HTML文本中自带的 < img > 标签自动加载,并把下载图片的操作放在native端来处理,并通过JS将图片在Cache中的地址返回给UIWebview. 之所以要把图片操作放在

iOS开发 UIWebView+JavaScript 交互总结

算是个人项目经验的,印象比较深的Web+JS交互的使用 iOS原生应用与Web页面元素交互方式有很多,JavaScriptCore.拦截协议.第三方框架WebViewJavaScriptBridge.iOS8之后的WKWebView等: 简要记录下之前开发用到的两种方式: 1. 劫持页面加载,从 UIWebVIew 的 shouldStartLoadWithRequest 方法中拦截RequestURL 判断加载项,代码简要: -(BOOL)webView:(UIWebView *)webVie

iOS开发——网络开发OC篇&amp;OC与JS交互简单案例

OC与JS交互简单案例 网页开发中三个重要的知识,这里就不详细介绍了! Html:页面代码 Css:样式 javascript:响应 先来看一段html的简单代码,里面涉及了上面的三个部分(很简单) 1 <html> 2 <!--描述网页信息--> 3 <head> 4 <meta charset="UTF-8"/> 5 <title>hello world</title> 6 <script> 7 f

OC与JS交互之WebViewJavascriptBridge

上一篇文章介绍了通过UIWebView实现了OC与JS交互的可能性及实现的原理,并且简单的实现了一个小的示例DEMO,当然也有一部分遗留问题,使用原生实现过程比较繁琐,代码难以维护.这篇文章主要介绍下开源库WebViewJavascriptBridge的实现原理和使用方法,并用此开源库重写之前的示例,同样,本文的示例代码我会在文章后面给出欢迎star 我们在上一篇文章结尾处简要介绍了WebViewJavascriptBridge的实现原理也是基于UIWebView的协议拦截,通过阅读源码发现,中