【问题标题】:Problem while using WebKit browser's InvokeScriptMethod()使用 WebKit 浏览器的 InvokeScriptMethod() 时出现问题
【发布时间】:2010-12-09 13:16:21
【问题描述】:

我在我的 WPF 应用程序中使用 WebKit 浏览器控件。我使用它是因为我想在它上面渲染启用 Protovis 的 HTML。到此为止,我是成功的。现在,我想将一些参数特别是 double、int 和字符串数组传递给控件内呈现页面的 Java 脚本方法之一。我尝试了来自 WebKit 的 InvokeScriptMethod() API,但如果我想传递参数,它对我不起作用。如果我调用不带任何参数的脚本方法,一切正常。

有人可以帮助我吗?我非常渴望它。:)

谢谢, 奥姆卡尔

【问题讨论】:

  • 怎么不工作了?有错误信息吗?您可以发布您用于调用 API 的代码片段吗?
  • 只是添加一些东西,当我尝试调用该方法时,我的 .net 应用程序中的 HRESULT 为 E_FAIL。以下是代码
  • 应 Lazarus 的要求,在下面添加我的代码。 # Java Script 代码函数 DisplayData(obj) { document.write(obj+" : "); } # C# 代码 browser.Document.InvokeScriptMethod("window.DisplayData", new object[]{"omky","sourabh"});我总是在 java 脚本中得到“null”。如果我错了,请纠正我。
  • 您好,有人可以帮我解决上述问题吗?

标签: c# javascript .net wpf protovis


【解决方案1】:

如果我不等到网站完全加载,我会得到 HRESULT 为 E_FAIL。

你必须等到这个事件:

private void webKitBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    object[] arr = {"some parameter"};
    String returned = webKitBrowser1.Document.InvokeScriptMethod("JavascriptFunctionName", arr) as String;
}

被解雇。在那之后,一切对我来说都很好。

【讨论】:

    【解决方案2】:

    你可以使用, webKitBrowser1.StringByEvaluatingJavaScriptFromString("javascript:YourMethod();");

    【讨论】:

      猜你喜欢
      • 2011-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      • 2021-01-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多