在cocoa / Mac应用程序中,我使用WebView加载一系列YouTube视频(5)。当它加载时我的整个应用程序锁定大约5秒钟。
我有没有办法加载它,所以它不会冻结应用程序的其余部分?
由于
例如:
[[webView mainFrame] loadHTMLString:html baseURL:[NSURL URLWithString:@"http://youtube.com"]];
答案 0 :(得分:1)
不幸的是,除了主线程外,你无法渲染WebView。这是班级的基本限制。我会开始研究为什么你的页面渲染这么长时间。我的预感:Javascript或插件。
我通常喜欢使用Safari来查看它是否存在相同的问题。您可以将HTML文件拖到Safari上以轻松加载它。如果Safari显示相同的问题,那么您可以使用Safari的开发工具对其进行分析。 (首选项,高级,菜单栏中的“显示开发”菜单。)
如果Safari没有问题,那实际上是好的,因为这意味着你的问题肯定是可以解决的(如果Safari可以做到,你应该能够实现同样的目的)。以下是一些可以试用的内容:
WebResourceLoadDelegate
方法以查看哪个部分似乎导致了问题。由此提供的信息可能具有误导性,因为它与下载内容时有关,而不是在呈现内容时,但它可以让您了解页面中的位置。