将对象从目标c传递给javascript

时间:2015-12-04 13:08:00

标签: javascript html ios objective-c

我有从当地html文件加载的webview。我试图将数组从目标c传递到javascript函数,顺便说一句我是javascript的新手。

下面的代码用于加载html文件和调用函数:

NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"file" ofType:@"html" inDirectory:@"javascript"];
NSURL *url=[NSURL fileURLWithPath:htmlFile];
[web_out loadRequest:[NSURLRequest requestWithURL:url]];

NSString * jsCallBack = [NSString stringWithFormat:@"login_info('%@')",arrlog];
[web_out stringByEvaluatingJavaScriptFromString:jsCallBack];

在我的html文件中:

function login_info(arr){
    alert("arr:- " +arr);
}

警报打印'未定义'。那么,我怎样才能将arrlog的值赋予这个javascript函数?

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

使用此链接检查如何与webview和目标c进行通信

http://perrymitchell.net/article/communication-between-javascript-ios-using-uiwebview-base64/

答案 2 :(得分:0)

- (void)webViewDidFinishLoad:(UIWebView *)webView;
{
    NSString *value = [arrlog componentsJoinedByString:@"','"];
    [web_out stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"login_info(['%@'])", value]];
}

在html文件中:

function login_info(arr){
     alert("arr:- " +arr);
}

我在浏览器中检查警报但它只在模拟器中显示,因为函数是从目标c侧调用的。