如何读取javascript变量var然后将其值传递给objective-c

时间:2014-05-22 02:10:59

标签: javascript jquery ios variables uiwebview

我正在尝试从javascript中读取以下变量:

var a_value = 5;

我尝试在 - (void)webViewDidFinishLoad:(UIWebView *)webView方法中使用以下内容:

NSString *result = [webView stringByEvaluatingJavaScriptFromString:
                    @"function f(){ return a_value; } f();"]; //try 1
NSString *result = [webView stringByEvaluatingJavaScriptFromString:
                    @"a_value"]; //try 2

但它是空白的,我已经在chrome检查器中测试过这个变量是否存在。如果我试图通过使用document.getElementById函数来获取dom元素的值,但是我无法读取变量。

知道为什么吗?

编辑:

如果我尝试以下内容:

NSString *result = [webView stringByEvaluatingJavaScriptFromString:
                    @"alert(a_value)"]; //try 2

然后警报获取值,但没有用,因为我无法显示警报,我需要警报框中的值。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案: 我不得不在变量中添加一个空字符串:

NSString *result = [webView stringByEvaluatingJavaScriptFromString:
                    @"function f(){ return ''+a_value; } f();"]; //try 1