У меня есть HTML-код, который говорит следующее:
<html>
<head>
<meta name=viewport content=width=320/>
<script>
function imageClicked(){
var clicked=true;
window.location="/click/"+clicked;
}
</script>
</head>
<body>
<center><h1>This is Page One</h1></center>
<center><a href="javascript:void(0)" onMouseDown="imageClicked()"><IMG SRC="divers-circle.jpg">
</a></center>
</center><br><br>
<center>Scuba divers</center>
</body>
</html>
HTML-код правильно загружен в UIWebView, поскольку это локальный файл:
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:((WebPageObj *)obj).webPath ofType:@"html"]isDirectory:NO]]];
webView.dataDetectorTypes = UIDataDetectorTypeAll;
Теперь, когда я нажимаю на изображение, оно распознает щелчок, но как я могу реализовать действие в XCode, например, открыть другое представление или предупреждение?
Кстати, я сделал это на основе учебника, который объясняет некоторые концепции, вот ссылка:
http://www.codeproject.com/KB/iPhone/iPhoneDevReader.aspx
Однако он создал HTML-код в XCode, и в моем случае я загрузил HTML-код, поэтому мне нужно как-то прочитать скрипт в HTML-коде, чтобы включить следующее:
if ( [request.mainDocumentURL.relativePath isEqualToString:@"/click/false"] ) {
NSLog( @"not clicked" );
return false;
}
if ( [request.mainDocumentURL.relativePath isEqualToString:@"/click/true"] ) { //the image is clicked, variable click is true
NSLog( @"image clicked" );
UIAlertView* alert=[[UIAlertView alloc]initWithTitle:@"JavaScript called"
message:@"You've called iPhone provided control from javascript!!" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:nil];
[alert show];
[alert release];
return false;
}
return true;
}
Какой метод поможет мне это сделать? и куда я должен поместить его, так как я использую ScrollView, а затем загружаю WebView, когда вызывается страница.
Заранее спасибо.