簡體   English   中英

UIwebView的shouldStartLoadWithRequest:委托方法不接收所有加載請求

[英]UIwebView's shouldStartLoadWithRequest: delegate method Does not Receive all Load Requests

我正在使用UIWebView的shouldStartLoadWithRequest:navigationType:委托方法來攔截在網頁中執行的html鏈接。 我這樣做是為了可以從網頁接收實時通知。 但是,我正在快速連續執行大約5個網頁加載,以嘗試接收自定義URL方案傳遞的數據。 我只是想立即記錄它們,所以我的代碼如下所示:

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSLog(@"Received Request: %@", request);
    return NO;

}

但是,並非所有請求都通過NSLog記錄。 我已經確認請求是通過OSX Safari Web瀏覽器的iPhone模擬器日志發送的,並且確實出現在此處。

有沒有一種方法可以通過shouldStartLoadWithRequest:委托方法接收所有這些請求?

我提到了另一個答案,因為它是指Native Bridge ,它可以用於在JavaScript和Objective C之間傳遞消息。即使這不是您的目標,它也演示了使調用打到shouldLoad / didFinish方法的方法。 該技術是將一個隱藏的iFrame添加到頁面,將請求加載到該iFrame中,然后該請求將到達您的委托方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM