我有一个由 UIWebView 组成的无限旋转木马。在每次滑动时,一个 UIWebView 被移除 (ARC) 并且一个被构建。在主线程上,UIWebView 通过调用 UIWebView 实例上的 loadHTMLString:baseURL: 填充 html。
大多数时候它按预期工作:html 从 css- 和 js-scripts 获取其布局。但有时它会失败,并且 html 会在没有样式的情况下呈现。 (有时它显示有样式但没有加载@font-face 的字体。)
css- 和 js- 文件确实存在,并且可以在 baseURL 下提供的文件夹中找到。
与旧设备相比,这种行为似乎更常发生在 iPad3 和更新的设备上。而且它在构建整个轮播时比在纯粹的滑动时更频繁地发生。
更新: 使用 loadData:MIMEType:textEncodingName:baseURL: 而不是 loadHTMLString:baseURL: 似乎可以减少意外行为。我将不胜感激在哪个方向寻找错误的任何提示。
最佳答案
您可以尝试的一件事是先加载 HTML,当页面呈现后,使用 [UIWebView stringByEvaluatingJavaScriptFromString:(NSString *)string] 以编程方式注入(inject)样式表和 JS 脚本。 This question has good examples of this .这至少可以让您分解问题,一次一个步骤。
关于javascript - UIWebView loadHTMLString 有时不加载或应用CSS和JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20838635/