Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从uiwebview';获取值;使用javascript创建web页面_Javascript_Ios_Objective C_Uiwebview - Fatal编程技术网

从uiwebview';获取值;使用javascript创建web页面

从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

我正在使用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);
现在的问题是:

我想在我的值变量中输入值如何获取它?

下载

遵循以下步骤:

创建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];