我在 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?那个方法不存在吗?