我在javascript code
的网页上有一些uiwebview
,我想用它来调用我的一个客观c方法。
我在网上发现了一些我决定使用的代码。但它似乎仍然无法正常工作。任何人都可以看到问题出在哪里?
javascript代码:
function someMethod() {
window.location = "ios:webToNativeCall";
}
目标c代码:
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
if ([[[request URL] absoluteString] hasPrefix:@"ios:"]) {
// Call the given selector
[self performSelector:@selector(webToNativeCall)];
// Cancel the location change
return NO;
}
return YES;
}
-(void)webToNativeCall
{
//my code here
}
我不确定,如何使用此方法,因此可能是我错误地实现了它。
有没有人对可能导致这种情况的原因有任何想法?
先谢谢。
答案 0 :(得分:1)
此代码看起来不错,请检查是否设置了UIWebView的委托。
否则您可以使用 EasyJSWebView 从Github下载它,它很容易使用。
答案 1 :(得分:0)
你一定错过了链接代表。
将webView的委托连接到.xib文件中的文件所有者
或
使用以下代码
webView = [[UIWebView alloc] init];
webView.delegate = self;
您的viewDidLoad
中的也写下面的代码
[webView stringByEvaluatingJavaScriptFromString:@"yourJavascriptFunction()"];
希望它对你有所帮助......