重複の可能性:
Cocoa/WebKit アプリで Javascript から Objective-C メソッドを呼び出す方法は?
Javascript から単純な Objective-C 関数を呼び出す方法。関数があるとします:
-(void) callFromJavascript {
// Javascript 関数から Objective -C のこのメソッドを呼び出す方法。
}
重複の可能性:
Cocoa/WebKit アプリで Javascript から Objective-C メソッドを呼び出す方法は?
Javascript から単純な Objective-C 関数を呼び出す方法。関数があるとします:
-(void) callFromJavascript {
// Javascript 関数から Objective -C のこのメソッドを呼び出す方法。
}
1 つのメカニズムは、document.location
変更をインターセプト (およびキャンセル) し、要求された変更document.location
が定義済みの URL と一致する場合にメソッドを呼び出すことです。
次に、JSdocument.location
からその事前定義された URL に変更するだけです。
変更オーバーライドをインターセプトするには:
- (BOOL)webView:(UIWebView *)_webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
request
JS で設定しているものと一致する場合はNO を返しますdocument.location
。