JavaScriptを使用して属性「webview」を取得できます。その後、その属性とその値をネイティブObjective Cコードに送信できます。
HTMLページ内のスクリプトタグに、このJavaScriptコードを追加します。
function reportBackToObjectiveC(string)
{
var iframe = document.createElement("iframe");
iframe.setAttribute("src", "callback://" + string);
document.documentElement.appendChild(iframe);
iframe.parentNode.removeChild(iframe);
iframe = null;
}
var links = document.getElementsByTagName("a");
for (var i=0; i<links.length; i++) {
links[i].addEventListener("click", function() {
var attributeValue=links[i].webview; //this will give you your attribute(webview) value.
reportBackToObjectiveC(attributeValue);
}, true);
}
この後、あなたのwebViewDelegateメソッドは呼び出します:
- (BOOL)webView:(UIWebView *)wView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
{
if (navigationType == UIWebViewNavigationTypeLinkClicked)
{
NSURL *URL = [request URL];
if ([[URL scheme] isEqualToString:@"callback"])
{
//You can get here your attribute's value.
}
}
チェックこの**のhttp: //stackoverflow.com/questions/5775679/how-can-i-get-name-from-link** –