Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript UIwebView';s shouldStartLoadWithRequest:委托方法未接收所有加载请求_Javascript_Ios_Iphone_Objective C_Uiwebview - Fatal编程技术网

Javascript UIwebView';s shouldStartLoadWithRequest:委托方法未接收所有加载请求

Javascript UIwebView';s shouldStartLoadWithRequest:委托方法未接收所有加载请求,javascript,ios,iphone,objective-c,uiwebview,Javascript,Ios,Iphone,Objective C,Uiwebview,我正在使用UIWebView的shouldStartLoadWithRequest:navigationType:delegate方法截取在网页中执行的html链接。我这样做是为了能够从网页接收实时通知。然而,我正在快速连续地执行大约5次web页面加载,以尝试接收自定义URL方案传递的数据。我现在只想记录它们,所以我的代码如下所示: -(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)req

我正在使用UIWebView的shouldStartLoadWithRequest:navigationType:delegate方法截取在网页中执行的html链接。我这样做是为了能够从网页接收实时通知。然而,我正在快速连续地执行大约5次web页面加载,以尝试接收自定义URL方案传递的数据。我现在只想记录它们,所以我的代码如下所示:

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

}
但是,并非所有请求都通过NSLog记录。我已经确认,请求是通过OSX Safari web浏览器的iPhone模拟器日志发送的,它们确实出现在那里


有没有一种方法可以让我通过shouldStartLoadWithRequest:delegate方法接收所有这些请求?

我提到另一个答案,因为它指的是,可以用来在JavaScript和Objective C之间传递消息。即使这不是你的目标,它也演示了让你的调用命中shouldLoad/didFinish方法的方法。技术是向页面添加一个隐藏的iFrame,在该iFrame中加载请求,请求将命中您的委托方法。

这是预期行为。请看。谢谢你引导我回答一个问题,这个问题帮助我从不同的角度思考这个问题。然而,我不确定它是否能解决我的问题。我不想调用webViewDidFinishLoad。我正在尝试在每次加载一个自定义URL方案后加载shouldStartLoadWithRequest:to。就是这样,感谢您专门引导我关注该解决方案。这确实解决了我的问题。非常感谢你!