我正在尝试从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
然后警报获取值,但没有用,因为我无法显示警报,我需要警报框中的值。
答案 0 :(得分:0)
我找到了解决方案: 我不得不在变量中添加一个空字符串:
NSString *result = [webView stringByEvaluatingJavaScriptFromString:
@"function f(){ return ''+a_value; } f();"]; //try 1