を使用していない私はNSURLProtocol
をサブクラス化し、このコードのdidFinishLaunchingWithOptions
でそれを登録しました:私のアプリの最初のUIWebView
についてはカスタムNSURLProtocol第二のWebViewで
+ (void) registerProtocol
{
static BOOL registered = NO;
if (!registered)
{
[NSURLProtocol registerClass:[MyURLProtocol class]];
registered = YES;
}
}
(メインウィンドウに)メソッドcanInitWithRequest
がトリガされ、カスタムコードを実行できます。
しかし、私はUIViewController
の中にあり、アプリケーションのある時点で(モーダルに表示されている)内部にある2番目のUIWebView
を持っています。 canInitWithRequest
は2番目のUIWebView
には呼び出されません。したがって、カスタムコードを実行できません。これは、UIWebView
の両方のインスタンスが作成された後で、プロトコルが登録されたときにも当てはまります。
誰でも知っていますか?
[編集] ドワーフ!私はちょうどそれが2番目のwebviewにロードされているjavascriptのプレーンエラーであることがわかりました:( は両方のwebviewsで魅力のように動作します!
問題はあなたのプロトコルの登録ではありません。一度登録するだけです。 UIWebViewでリクエストをどのようにロードしているのか不思議です。たとえば、[webView loadRequest:request]を呼び出していますか? – jimmyg
実際にリクエストはjavascript/ajaxコールから起動され、私はcanInitWithRequestでそれをインターセプトしようとしています。 ( – user826955
あなたが発見した修正の詳細を提供することはできますか?あなたのアプリケーションに固有のjsエラーであっても、私は非常に同じ問題に遭遇しています。問題を理解しようとしている私の髪の毛。 –