使用 javascript 从 uiwebview 的网页获取值
get Values from uiwebview's webpage using javascript
>我在 Objective - C 中使用 Java 脚本。
以下是我的代码:
NSString *javascript = @"testfunction = function(){ jQuery.getScript('"https://www.myserver.com/myscript.js'").done(function(script,textStatus){$testvalue = 10; return $testvalue; }).fail(function(jqXHR,settings,exception){'n alert(exception);});}";
[webview stringByEvaluatingJavaScriptFromString:javascript];
NSString *value = [webview stringByEvaluatingJavaScriptFromString:@"testfunction();"];
NSLog(@"Value of Value : %@",value);
现在的问题是:
我想在我的值变量中值,如何获得它?
将委托添加到您的 Web 视图
_webView.delegate =self;
使用此代码
NSString *fName = [[NSString alloc] initWithFormat: @"demo()"];
NSString *result = [webView stringByEvaluatingJavaScriptFromString:fName];
下载代码示例
请按照以下步骤操作:
创建 JS 文件演示.js并添加代码
var hello = function(str){
return str;
};
添加 UIWebView => 将 JavaScript 嵌入到虚拟 html 文件中并将其加载到 UIWebView 中
[self.webView loadHTMLString:@"<script src='"demo.js'"></script>"
baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] resourcePath]]];
这是进行JS调用的代码
NString *str=@"hi JavaScript";
NSString *function = [[NSString alloc] initWithFormat: @"hello(%@)", str];
NSString *result = [webView stringByEvaluatingJavaScriptFromString:function];
现在,有一个重要的安全提示可以使它真正工作:UIWebView实际上必须加载一个视图。它不必可见,但为了使 WebKit 引擎执行 JS,它必须位于视图上。
这可能有助于您:)
您可以使用
UIWebView
的委托方法webView:shouldStartLoadWithRequest:navigationType:
来拦截URL请求。当你需要从JS函数返回一些数据时,做一个假请求,拦截它,处理,并返回NO
。
有关详细信息,请阅读此处。
相关文章:
- 从脚本中的动态(javascript)网页获取信息
- 从谷歌chrome中的任何网页获取所有tel标签
- 从网页获取数据的更好方法,而不是使用DOM和HTML元素
- 如何从其他网页获取图像并在我的网站上显示
- 我可以通过Javascript从另一个网页获取特定的页面HTML代码吗?
- 从 asp.net c# 中的网页获取所有数据(包括图像)
- 使用 IPv6 地址和 JavaScript 从网页获取 HTML
- 使用 PHP 从网页获取脚本内容
- 使用 javascript 从 uiwebview 的网页获取值
- 如何从网页获取源代码
- 如何通过javascript或jquery从网页获取所有Html
- Javascript 从外部网页获取文本
- 无法从网页获取表单
- 如何使用网页加载的源从网页获取文本框内容
- 如何从Javascript中的通用网页获取favicon的URL
- 从网页获取链接
- 如何使用 AJAX 从外部网页获取未命名的元素
- SeleniumjSoup从Javascript网页获取数据
- 使用ajax而不是使用带有curl的php文件从另一个网页获取响应
- 如何使用selenium从网页获取链接