iOS 4.3 中未调用 UIWebView shouldStartLoadWithRequest

Posted

技术标签:

【中文标题】iOS 4.3 中未调用 UIWebView shouldStartLoadWithRequest【英文标题】:UIWebView shouldStartLoadWithRequest not called in iOS 4.3 【发布时间】:2012-09-10 18:45:34 【问题描述】:

UIWebView 的 shouldStartLoadWithRequest 由 javascript 触发

window.location = updateappdata://type/viewName/;

它在 ios 5.0、5.1、6.0 中完美运行

然而在 ios 4.3 中只有一些 updateappdata:// 回调被调用,并不是所有的 shouldStartLoadWithRequest 被调用。有什么想法有什么问题吗?

【问题讨论】:

你确定他们都被解雇了吗? 【参考方案1】:

问题在于通过子视图将 uiwebviews 滚动视图的委托设置为视图控制器。

if ([[subview class] isSubclassOfClass: [UIScrollView class]])

     [((UIScrollView *)subview) setDelegate: self];

由于在 iOS 5.0+ 中存在 .scrollView 属性,因此一切正常。

【讨论】:

以上是关于iOS 4.3 中未调用 UIWebView shouldStartLoadWithRequest的主要内容,如果未能解决你的问题,请参考以下文章

UIWebView 中未显示键盘

Youtube iFrame API pauseVideo 在 UIWebView 中未定义

iOS:在 UIWebview 中使用 javascript 调用 obj-c 方法

如何在 iOS 7 的 UIWebView 中从 JavaScript 调用 Objective-C?

touchesBegan 在 iOS 12 中被调用,但在 iOS 13 中未被调用

iOS下JS与OC互相调用--UIWebView 拦截URL