WebView调用Javascript方法
来源:互联网 发布:淘宝网运动鞋 编辑:程序博客网 时间:2024/05/16 17:42
正文:
1. Objective-C调用Javascript方法:
前提:
UIWebView已经完全加载完成包含需要调用的页面
方法:
假设某视图对象的子视图属性self.webview加载的页面包含如下Javascript函数:
function getString(){ return “Hello javascript!”;}
并且该函数在该页面上可被正常调用,则可以通过形如下面的Objectvie-C方法调用此函数:
NSString *str = [self.webview stringByEvaluatingJavaScriptFromString:@"getString();"];
2. 系统响应页面Javascript代码:
前提:
需要实现
- (BOOL)webView:(UIWebView *)webView
shouldStartLoadWithRequest:(NSURLRequest *)request
navigationType:(UIWebViewNavigationType)navigationType;
return NO 表示不响应点击的页面跳转监视页面上的特定格式的跳转地址加以拦截,并执行相应的本地代码,即可实现Javascript与Objective-C代码的交互。
例如,规定拦截URL地址前缀为”objc:”的所有地址,并且用if…else…语句判定本地需要执行的代码,则实现形如以下格式的Objective-C托管函数:
- (BOOL)webView:(UIWebView *)webView
shouldStartLoadWithRequest:(NSURLRequest *)request
navigationType:(UIWebViewNavigationType)navigationType
{
NSString *urlString = [[request URL] absoluteString];
NSArray *urlComps = [urlString componentsSeparatedByString:@":"];
if([urlComps count] && [[urlComps objectAtIndex:o] isEqualToString:@"objc"])
{
NSString *funcStr = [urlComps objectAtIndex:1];
if([funcStr isEqualToString:@"doFunc1"])
{
/*调用本地函数1*/
}
else if([funcStr isEqualToString:@"doFunc2"])
{
/*调用本地函数2*/
}
return NO;
}
return YES;
}
当需要调用本地函数1时,可以通过如下Javascript函数进行:
window.location.href=”objc:doFunc1”;
根据上述思路,可以完善通过Javascript调用本地带参数的Objective-C代码。
- WebView调用Javascript方法
- WebView 中的 JavaScript 调用 Android 的方法
- 使用WebView中的JavaScript调用Android方法
- webView中JavaScript调用Android方法
- WebView调用javaScript
- 利用WebView通过javascript调用android java方法
- Android的Webview中,javascript如何调用java方法
- Android的Webview中,javascript如何调用java方法
- Android的Webview中,javascript如何调用java方法
- Android中WebView实现Javascript调用Java类方法
- 使用WebView中的JavaScript调用android的方法
- Android Webview和JavaScript交互--JS调用Android方法
- WebView原生方法---使用javascript调用android代码
- Android webview中JavaScript与Java方法的相互调用
- Android中WebView通过JavaScript调用Native方法
- ANDROID WEBVIEW和JAVASCRIPT交互_JS调用ANDROID方法
- Android 使用WebView中的JavaScript调用Android方法
- Android 实现WebView与JavaScript相互调用//支持javaScript对android方法调用 mWebView.addJavascriptInterface(n
- Linux红黑树(一)——数据结构
- c语言输入年月日,判断是这一年的第几天
- Python读取xml
- Eclipse 支持jQuery 自动提示
- 安装ndnx
- WebView调用Javascript方法
- POST请求数据,出现Post too large...错误
- 嵌入式Linux文件系统简介
- 水晶头
- 热得快电路及分析
- linux环境下,关于系统自动安装eclipse时,其插件的安装方法
- Delphi_EnumWindows 的一个例子
- 开漏输出-开集输出
- C#中FileStream文件流详解