0

我在 C# mono 中导入该方法(因为 dom_document 未在 webkit-sharp 中实现),如下所示:

class ExtendedWebView : WebKit.WebView {
    [DllImport ("webkit-1.0")]
    private static extern IntPtr webkit_web_view_get_dom_document (IntPtr raw);

    public DOMDocument get_dom_document()
    {
        return new DOMDocument(webkit_web_view_get_dom_document(base.Handle));
    }
}

base.Handle 是 WebView 对象的 IntPtr。webkit_web_view_get_dom_document 永远不会返回。我在一个单独的线程中调用它。线程只是无限期地挂起。

我还尝试隔离方法调用,以确保那是挂起的。我传入一个 IntPtr 并将返回值分配给一个 IntPtr。肯定是 webkit_web_view_get_dom_document 没有返回。

有人知道为什么会这样吗?也许我使用了错误版本的 webkit?那个方法不存在吗?

4

1 回答 1

0

Webkit 1.0 不包含 DOMDocument 的东西。我最终不得不使用已经具有 DOMDocument 实现的较新版本的 webkit-sharp(实际上还没有发布)。

于 2013-08-06T22:25:09.683 回答