2

javascriptから目的のCメソッドを呼び出す方法を知りたいです。たとえば、次のように myFile.js で定義された javascript 関数があります。

function() {
alert('test');
....          // How i can an objective c function here ???
}

私も UIWebView を持っています:

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
....
// what to do here ?????? 
}

ご回答有難うございます

4

1 に答える 1

3

場所を認識できる場所に設定し、request.URL がそれに一致するかどうかを確認してください。

function nav(f){
 location.href = "methodCall";
}

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    if([request.URL.relativeString isEqualToString:@"methodCall"]){
        //call method here
        return false; //so it doesn't navigate anywhere
    }
    return true; //if you want every other link to work normally.
}

注: 私はこれをテストしていませんが、動作すると思いますが、request.URL.relativeString によって返される URL は少し異なる可能性があるため、そこにブレークポイントを設定して、それが何であるかを確認してください。

于 2012-05-06T17:21:29.843 に答える