在iOS应用中获取javascript变量的值

时间:2013-12-26 07:50:38

标签: javascript ios iphone uiwebview

我需要访问在脚本

中的try块内声明的javascript变量
var ErrorResponse = "";

在我的iOS应用中。我不太了解javascript,这就是为什么我无法找到方法来做到这一点。我正在使用这个:

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

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

2 个答案:

答案 0 :(得分:3)

以下是应该发挥魔力的代码:

NSString *errorResponse = [self.viewYTParser stringByEvaluatingJavaScriptFromString:@"ErrorResponse"];

每次需要检索ErrorResponse的最新值时,只需执行此行。

您不应使用return关键字 如果你希望你的JS从stringByEvaluatingJavaScriptFromString返回任何值,那么它应该是你经常在常规JS函数中 return关键字之后写的东西 - 没有{{1单词本身。

答案 1 :(得分:0)

// 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];