【问题标题】:WebFrame loadData not working?WebFrame loadData 不工作?
【发布时间】:2013-10-13 22:51:33
【问题描述】:

我正在尝试让 WebView 从我存储为 NSData 的 HTML 代码中加载页面。当我尝试这样做时,我得到一个空白页。加载页面时我在做什么有什么问题吗?如果没有,我需要在我的程序中寻找其他地方。

if (essence.html){ //essence.html is an NSData
    NSLog(@"Inserting HTML code into browser window: %@", [[NSString alloc] initWithData:essence.html encoding: NSUTF8StringEncoding]);
    [webView.mainFrame loadData:essence.html MIMEType: @"text/html" textEncodingName: @"utf-8" baseURL:nil]; //webView is a WebView
}

我创建了条件,因此essential.html 包含来自页面http://kathleenmelian.com/test.html 的HTML 代码(它只是说“你好”)。当上面的代码运行时,NSLog 会打印出来:

Inserting HTML code into browser window: <html><head></head><body>hello</body></html>

因此,essential.html 肯定包含浏览器应该能够加载的有效代码。

【问题讨论】:

    标签: html objective-c macos webview


    【解决方案1】:

    你可以使用

    [webView loadHTMLString:
       [[NSString alloc] initWithData:essence.html encoding:NSUTF8StringEncoding]
       baseURL:nil];
    

    另一个想法是将"utf-8" 替换为"UTF-8",这在某些情况下会产生影响(不确定UIWebView)。

    【讨论】:

    • 谢谢,但它仍然没有出现。它实际上必须是 webView.mainFrame,因为 mainFrame 返回 WebView 的 WebFrame,这就是具有加载方法的内容。 WebView 在这一点上与 UIWebView(iOS 中使用)不同。我也尝试过“UTF-8”,但没有区别。苹果文档说使用“utf-8”。
    • 在 iOS 中,UIWebView 没有 mainFrame 属性。抱歉,您可能混淆了 SDK。
    • 我在 OS X 中。我有点恼火 Apple 制作的 UIWebView 和 WebView 是不同的东西:/
    【解决方案2】:

    抱歉打扰各位了。我在我的程序模型中修复了一些其他错误,并且以某种方式也解决了这个问题。我不知道怎么做。避免了危机。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-28
      • 2011-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-25
      相关资源
      最近更新 更多