获取一个javascript变量';iOS应用程序中的s值

获取一个javascript变量';iOS应用程序中的s值,javascript,ios,iphone,uiwebview,Javascript,Ios,Iphone,Uiwebview,我需要访问脚本中try块内声明的javascript变量 var ErrorResponse = ""; 在我的iOS应用程序中。我对javascript不太了解,这就是为什么我无法找到实现它的方法。我用的是: NSString *jsString = @"var temp = ErrorResponse; return temp"; NSString *myFieldValue1 = [self.viewYTParser stringByEvaluatingJavaScriptFromStr

我需要访问脚本中try块内声明的javascript变量

var ErrorResponse = "";
在我的iOS应用程序中。我对javascript不太了解,这就是为什么我无法找到实现它的方法。我用的是:

NSString *jsString = @"var temp = ErrorResponse; return temp";
NSString *myFieldValue1 = [self.viewYTParser stringByEvaluatingJavaScriptFromString:jsString];

检索该值,但它返回一个空字符串。

以下是执行此操作的代码:

// simplified expression, no function needed
NSString *expr = @"document.getElementById('myDiv').offsetHeight / document.getElementById('myDiv').style.lineHeight";
// now pass it to the web view and parse the result
int lines = [[self.webView stringByEvaluatingJavaScriptFromString:expr] intValue];
NSString *errorResponse = [self.viewYTParser stringByEvaluatingJavaScriptFromString:@"ErrorResponse"];
每次需要检索
ErrorResponse
的最新值时,只需执行这一行即可

您不应该使用
return
关键字。

如果你想让你的JS从
stringByEvaluatingJavaScriptFromString
返回任何值,那么你应该在常规JS函数中的
return
关键字之后定期编写,而不使用
return
单词本身。

下面是应该发挥神奇作用的代码:

NSString *errorResponse = [self.viewYTParser stringByEvaluatingJavaScriptFromString:@"ErrorResponse"];
每次需要检索
ErrorResponse
的最新值时,只需执行这一行即可

您不应该使用
return
关键字。

如果你想让你的JS从
stringByEvaluatingJavaScriptFromString
返回任何值,那么你应该在常规JS函数中的
return
关键字之后定期编写,而不使用
return
单词本身。

下面是应该发挥神奇作用的代码:

NSString *errorResponse = [self.viewYTParser stringByEvaluatingJavaScriptFromString:@"ErrorResponse"];
每次需要检索
ErrorResponse
的最新值时,只需执行这一行即可

您不应该使用
return
关键字。

如果你想让你的JS从
stringByEvaluatingJavaScriptFromString
返回任何值,那么你应该在常规JS函数中的
return
关键字之后定期编写,而不使用
return
单词本身。

下面是应该发挥神奇作用的代码:

NSString *errorResponse = [self.viewYTParser stringByEvaluatingJavaScriptFromString:@"ErrorResponse"];
每次需要检索
ErrorResponse
的最新值时,只需执行这一行即可

您不应该使用
return
关键字。


如果您希望JS通过EvaluatingJavaScriptFromString返回
stringByEvaluatingJavaScriptFromString
中的任何值,那么它应该是您在常规JS函数中
return
关键字之后定期写入的值,而不使用
return
单词本身。

var ErrorResopnse=“”为空。设置一个值,如:
var ErrorResopnse=“Foo”初始化时为空。它在后面的代码
var ErrorResopnse=“”)中设置了一个值为空。设置一个值,如:
var ErrorResopnse=“Foo”初始化时为空。它在后面的代码
var ErrorResopnse=“”)中设置了一个值为空。设置一个值,如:
var ErrorResopnse=“Foo”初始化时为空。它在后面的代码
var ErrorResopnse=“”)中设置了一个值为空。设置一个值,如:
var ErrorResopnse=“Foo”初始化时为空。它将在代码的后面设置一个值。您确定在执行这一行时这个变量有值吗?是的。为了便于检查,我还初始化了它var ErrorResopnse=“something”;但还是什么都没有我知道问题出在哪里了。它无法访问,因为它是在本地声明的。我把它声明为一个全局变量,它起作用了。但现在的问题是,我不应该在脚本中进行更改,我必须访问局部变量。我该怎么做?创建一个全局变量并保持局部变量不变。将局部变量的值赋给全局变量,然后使用stringByEvaluatingJavaScriptFromString@san您好,我本来可以这样做的,但正如我在上面的评论中所说的,我不应该更改脚本。您确定在执行这一行时这个变量有值吗?是的。为了便于检查,我还初始化了它var ErrorResopnse=“something”;但还是什么都没有我知道问题出在哪里了。它无法访问,因为它是在本地声明的。我把它声明为一个全局变量,它起作用了。但现在的问题是,我不应该在脚本中进行更改,我必须访问局部变量。我该怎么做?创建一个全局变量并保持局部变量不变。将局部变量的值赋给全局变量,然后使用stringByEvaluatingJavaScriptFromString@san您好,我本来可以这样做的,但正如我在上面的评论中所说的,我不应该更改脚本。您确定在执行这一行时这个变量有值吗?是的。为了便于检查,我还初始化了它var ErrorResopnse=“something”;但还是什么都没有我知道问题出在哪里了。它无法访问,因为它是在本地声明的。我把它声明为一个全局变量,它起作用了。但现在的问题是,我不应该在脚本中进行更改,我必须访问局部变量。我该怎么做?创建一个全局变量并保持局部变量不变。将局部变量的值赋给全局变量,然后使用stringByEvaluatingJavaScriptFromString@san您好,我本来可以这样做的,但正如我在上面的评论中所说的,我不应该更改脚本。您确定在执行这一行时这个变量有值吗?是的。为了便于检查,我还初始化了它var ErrorResopnse=“something”;但还是什么都没有我知道问题出在哪里了。它无法访问,因为它是在本地声明的。我把它声明为一个全局变量,它起作用了。但现在的问题是,我不应该在脚本中进行更改,我必须访问局部变量。我该怎么做?创建一个全局变量并保持局部变量不变。将局部变量的值赋给全局变量,然后使用stringByEvaluatingJavaScriptFromString@san嗨,我本来可以做的,但我