2016-05-19 3 views

答えて

4

このソリューションを試したことがあるかどうかわかりません。JSコードで例外をキャッチし、ネイティブメソッドを呼び出してこの情報を記録できます。 webviewのJSコンテキストが作成されたUIWebViewデリゲートコールバックを受け取った後、このネイティブメソッド実装をUIWebviewのJSコンテキストに注入できます。

- (void)webView:(id)webView didCreateJavaScriptContext:(JSContext *)context forFrame:(id)frame { 
//this injects the MyNativeLog in your UIWebView JS context and you can call this function in your JS code. 
context[@"MyNativeLog"] = ^(NSString *string){ 
      NSLog(@"%@", string); 
     }; 
} 

これは役に立ちます。

+0

ありがとう、ソリューションは私のために働いた。 – Subrat

+0

Vadim Denisuk、それがあなたのために働くなら答えを受け入れてください。 – Chandra

+0

Chandra、JavaScriptからコードを呼び出す必要はありません。私はjavaScriptコードにアクセスすることはできません。 –

0

webView:didClearWindowObject:forFrame:の方法をWebFrameLoadDelegate Protocolとする必要があります。そこhttps://developer.apple.com/library/mac/documentation/Cocoa/Reference/WebKit/Protocols/WebFrameLoadDelegate_Protocol/#//apple_ref/occ/instm/NSObject/webView:didClearWindowObject:forFrame:

あなたが発生することが起こるjavascriptの例外のいずれかのタイプをキャッチすることができます:この

チェック。これは、特定のWebViewにバインドされていません。