Tag: uiwebview

iOS:检测UIWebView到达顶部或底部

如何检测UIWebView达到顶部或底部? 因为当我到达底部时我需要触发一个动作。 那可以吗?

UIWebview JS性能比iOS 6/7上的移动Safari更慢吗?

我们最近从一个iOS应用程序testing了一些HTML5内容,包含大量的JavaScript库。 该应用程序旨在加载UIWebview中的这些内容。 iOS 6被用于这个testing。 我的团队没有观察到移动Safari浏览器有任何明显的性能问题。 但在networking和其他stackoverflow讨论(像这个链接 )专家声称,UIWebview没有Nitro Javascript引擎,所以它通常比移动Safari浏览器慢得多。 这不再是最新版本的iOS(6/7testing版)的问题吗? 有没有一种方法来衡量和观察UIWebview和Mobile Safari浏览器之间的性能差异?

在UIWebView中监听事件(iOS)

我试图从我在iOS应用程序的UIWebView中打开的网页上听一个事件(特别是一个button点击)。 我知道在其他语言中有办法将事件监听器附加到某些Web调用,但是我还没有find在Objective-C中实现的方法。 我也没有find任何人说,这是不能做的,所以我决定我应该问。 我在文档中看到,您可以从Javascript进行Objective-C调用,但是我无法控制要监视的网页。 所以我需要一个解决scheme,允许我完全在Objective-C中监听这个事件。 编辑:如果具体会帮助,我试图让用户在Facebook上做一个wallpost。 我正在UIWebview(http://www.facebook.com/sharer/sharer.php?u=)中加载Facebook共享器页面,并希望监视用户何时单击“共享链接”,以便closuresWeb视图。 谢谢大家的时间!

在UIWebView中防止恼人的HTML5地理位置警报

无论何时脚本使用HTML5的地理位置API请求地理位置, UIWebView请求使用iOS位置服务的权限。 这非常烦人,特别是当你加载静态的HTML文件,它不断询问每个文件的权限,即使用户已经授予了应用程序本身的权限。 有没有办法阻止它? 我知道,在Safari浏览器的地理位置的权限是基于域,我同意请求的权限,当请求是为不同的域名,但不应该加载静态HTML或UIWebView具有相同的地理位置权限,本地文件? 难道我做错了什么?

UIWebView loadHTMLString在iOS5中不起作用

也许这是类似于这个问题,没有任何反应: loadHTMLString不适用于iOS5? 我有一个UIWebView,我使用loadHTMLString填充:baseURL :. HTML是小而简单的,它引用了一个css样式表和一个javascript脚本,它们通过baseURL:来加载,该脚本被设置到应用程序包中的一个目录中。 // load the html NSString* filePath = [NSString stringWithFormat: @"%@/html", [[NSBundle mainBundle] resourcePath ] ]; [_pCurrentWebView loadHTMLString: html baseURL: [NSURL fileURLWithPath: filePath isDirectory: YES ] ]; 这一直以来都是有效的,但在iOS5中已经崩溃了。 在iOS5中,UIWebView中不显示任何内容。 webview确实会提供所有预期的事件 – 例如,shouldLoadRequest,didStartLoad,didFinishLoad等 html有一个脚本标签,像这样: <script type="text/javascript" src="./myscript.js" /> 如果我删除脚本标记,然后页面加载和iOS5罚款。 我可以告诉我,加载并应用与脚本.js文件相同的方式引用的css文件。 如果我保留脚本标记,但使myscript.js文件完全清空,它仍然无法加载。 对我来说,这似乎是某种跨站点脚本问题,因为WebView认为它应该禁止加载脚本(事实上,禁止呈现页面?) 不知道从哪里去。 想法? UPDATE 这感觉越来越像一个跨站点脚本问题。 如果我删除它的标签,虽然sans脚本。 我所有的图像都是从baseURL加载的,就像我的样式表一样。 也就是说,我们知道baseURL正在工作。 如果我用我的脚本文件的实际内容replace标签,那么它的工作原理,所以问题不是脚本本身。 仍然在寻找确认和额外的想法来规避。 我不得不将脚本本身修补到html中,但这是我迄今为止最好的解决scheme。 […]

什么时候可以使用带有通用链接的SFSafariViewController,WKWebView或UIWebView?

在“ iOS应用程序search编程指南”的“ 通用链接”部分,苹果说: 如果您实例化SFSafariViewController,WKWebView或UIWebView对象来处理通用链接,iOS会在Safari中打开您的网站而不是打开您的应用程序。 但是,如果用户从embedded的SFSafariViewController,WKWebView或UIWebView对象中点击通用链接,iOS将打开您的应用程序。 “处理通用链接”是什么意思? 我是否可以用SFSafariViewController , WKWebView或UIWebView打开给定的URL? 它只适用于-[UIApplicationDelegate application:continueUserActivity:restorationHandler:] ,还是有一个超时的地方? 这是否意味着我们无法在SFSafariViewController , WKWebView或UIWebView打开URL?

不可重现的networking核心崩溃

我有一个iPad应用程序,在App Store里已经有三个月的时间了,我收到了一些我不知道的奇怪的崩溃报告。 这些并不常见,自推出以来已经有15-20个实例,但仍然频繁发生,实际上让我感到不安。 崩溃是略有不同(见下面的堆栈跟踪),但由于他们与WebCore相关,我猜他们必须在应用程序中使用UIWebView ,可能有一个共同的原因,但我不是100%正面。 该应用程序的部署目标是iOS 6.0,但崩溃出现在iOS 2上的iPad 2,iPad 3和iPad Mini上。 在我使用webview的应用程序中,只有一个地方显示各种来源的新闻文章网页。 我有一个视图控制器,它有一个UIWebView作为其视图。 有一个这个视图控制器的实例遍布整个应用程序,每次select一个新的文章,现有的webview重新加载与新select的文章的url。 基于围绕WebCore问题的讨论提出的解决scheme之一build议在控制器的dealloc方法中将webviews delegate属性设置nil 。 不幸的是,我不认为这适用于我的情况,因为在应用程序的生命周期中,视图控制器没有被取消分配。 另一个问题可能是不正确的网页在CSS(loadPendingImages崩溃)中具有不良的图像引用。 尽pipe如此,我还是找不到这样一个页面。 此外,我仔细检查,并确保在主线程上做webview相关的操作。 崩溃是 Exception Type: EXC_BAD_ACCESS Code: KERN_INVALID_ADDRESS 与下面的堆栈跟踪(全部在这里 ) 0 WebCore WebCore::StyleResolver::applyMatchedProperties(WebCore::StyleResolver::MatchResult const&, WebCore::Element const*) + 815 1 WebCore WebCore::StyleResolver::applyMatchedProperties(WebCore::StyleResolver::MatchResult const&, WebCore::Element const*) + 788 2 WebCore WebCore::StyleResolver::styleForElement(WebCore::Element*, WebCore::RenderStyle*, WebCore::StyleSharingBehavior, WebCore::RuleMatchingBehavior, WebCore::RenderRegion*) + 948 3 […]

如何在uiwebview iOS中处理YouTubevideo事件(开始,完成等)

目前,我正在使用新的iframe API在YouTube上的uiwebview中embeddedYouTubevideo,并且能够在没有用户交互的情况下自动播放。 在iframe API中,描述了如何使用onstatechange事件,但在我的应用程序中它似乎并不工作,不幸的是我看不到在uiwebview中的任何debugging。 我只是想能够检测到video结束时,你有什么build议吗? 有没有人得到它的工作?

如何取消一个UIWebView?

我模式展示一个UIWebView作为其视图的UIViewController 。 当用户点击取消button时,如何解除UIWebView ? 我有一个想法是有取消button链接到http://取消 ,然后登记 – (void)webViewDidStartLoad:(UIWebView *)webView 如果webView.request.URL.host isEqualToString:@"cancel" ,则closures视图控制器。 主机是否必须有一个点,例如“cancel.com”?

UIWebView LoadData不接受textEncodingName和baseURL的Nil值

直到Swift 1.2版本,UIWebView LoadData接受nil值,但Swift 2.0抛出错误“Swift不符合协议NilLateralConvertible”。 Swift 1.2:工作正常 self.webView.loadData(tempData!, MIMEType: "application/pdf", textEncodingName: nil, baseURL: nil) Swift 2.0:引发错误 self.webView.loadData(tempData!, MIMEType: "application/pdf", textEncodingName: nil, baseURL: nil)