从uiwebview';获取值;使用javascript创建web页面
我正在使用objective-C中的java脚本 以下是我的代码:从uiwebview';获取值;使用javascript创建web页面,javascript,ios,objective-c,uiwebview,Javascript,Ios,Objective C,Uiwebview,我正在使用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,exce
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);
现在的问题是:
我想在我的值变量中输入值如何获取它?下载
遵循以下步骤:
创建JS文件demo.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]]];
现在,有一个重要的安全提示可以让它实际工作:UIWebView必须实际加载到一个视图中。它不必是可见的,但为了让WebKit引擎执行JS,它必须位于视图上
这可能会帮助您:)将委托添加到您的Web视图中
_webView.delegate =self;
使用此代码
NSString *fName = [[NSString alloc] initWithFormat: @"demo()"];
NSString *result = [webView stringByEvaluatingJavaScriptFromString:fName];
您可以使用
UIWebView
的委托方法webView:shouldstartdoadwithrequest:navigationType:
拦截URL请求。当您需要从JS函数返回一些数据时,发出一个假请求,拦截、处理并返回NO
详细信息请阅读。谢谢您的快速回复,我已经完成了。但是我想把这个值从javascript输入到我的objective c变量中,我怎么能呢?谢谢你的回复。但基本上我在想我在做什么,但我仍然并没有把那个变量的值输入到我的目标c代码中
NSString *fName = [[NSString alloc] initWithFormat: @"demo()"];
NSString *result = [webView stringByEvaluatingJavaScriptFromString:fName];