【问题标题】:Malformed HTML in a OSX WebviewOSX Webview 中的 HTML 格式错误
【发布时间】:2013-10-16 18:15:24
【问题描述】:

是否可以使用-loadHTMLString:baseURL: 检测提交给 WebView 的 HTML 中的解析错误?

有没有可以在解析错误时调用的方法?

【问题讨论】:

    标签: html macos webview parse-error


    【解决方案1】:

    唯一可能的委托回调可能是this,但我认为它不会为您提供您正在寻找的东西(几乎可以肯定是网络错误)。快速浏览the list of possible NSError codes(靠近底部),没有任何可能与您的错误相关的内容。看来你在这里运气不好。

    如果您需要处理解析,那么您将使用不同的 HTML 渲染器,例如 WebKit 或 Blink。有一些框架可用于构建使用 WebKit 或 Blink 渲染器的原生应用程序。最活跃的一种叫做Node-Webkit。虽然我不能绝对肯定地说它会暴露您正在寻找的解析,但几率要高得多。

    其他一些类似的是appJSCEF。我喜欢 Node-Webkit,因为它设置起来非常简单,同时也相当成熟且发展迅速。如果它不能为您提供您正在寻找的东西,那么其中之一可能会。

    【讨论】:

    • 这是我尝试过的,但我认为它是针对低级网络错误的。这是否意味着我必须使用第三方解析器或 Webkit 正在使用的那个?意味着解析 HTML 两次..
    • 如果你不想使用内置的 WebView 类,外部渲染器可能是你唯一的选择。
    • 在 Webkit 中进行一些修改以公开 HTML 树构建器的一部分不是更有意义吗?我并不是说这很容易.. 但是 WebView 不是从 Webkit 编译的吗?我找到了一篇文章,作者解释了如何覆盖 CSS 边界框。 blogs.adobe.com/webplatform/2013/02/05/… 这不是真的相关,但它是一个起点..
    • WebView 确实在下面使用了 WebKit,但我将 WebKit 直接用作“外部渲染器”,因为您没有使用 WebView 中内置的 API。如果那是你想走的路,你可以走下去,虽然这将是非常困难的。你可能想为你的应用研究类似 Node-Webkit 的东西。
    • @AntoineLecaille 我知道这不是您要找的答案,但我会很感激您的检查。
    猜你喜欢
    • 2014-09-20
    • 2021-03-08
    • 2021-09-14
    • 1970-01-01
    • 1970-01-01
    • 2021-06-24
    • 2015-05-28
    • 1970-01-01
    • 2013-08-23
    相关资源
    最近更新 更多