我有一个简单的javascript函数,它有两个变量。我需要将我在Objective-C(iOS)应用程序中已有的两个变量传递给这个javascript函数。我运行javascript的代码行是:
[webView stringByEvaluatingJavaScriptFromString:@"onScan()"];
javascript函数只是将两个变量应用于HTML表单并提交它。由于缺少变量,我当然在我的表单中未定义。 8-)我一直无法找到这方面的文件,但也许我在找错了地方?
FWIW,我的Objective-C变量是字符串。我的javascript函数是onscan(a,b)
更新
我能够通过在传递给javascript函数的每个变量周围放置单引号来实现此功能。更新的代码是:
[webView stringByEvaluatingJavaScriptFromString:@"onScan('%@','%@')",a,b];
答案 0 :(得分:10)
stringByEvaluatingJavaScriptFromString:
需要NSString
,因此您所要做的就是使用stringWithFormat:
和%@
对象格式化程序组合字符串,如下所示:
NSString *stringOne = @"first_parameter";
NSString *stringTwo = @"second_parameter";
NSString *javascriptString = [NSString stringWithFormat:@"onScan('%@','%@')", stringOne, stringTwo];
[webView stringByEvaluatingJavaScriptFromString:javascriptString];
查看Apple NSString
的文档,这是一个非常有用的对象!