- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
public void ProcessResult(string result)
{
this.MyTextBox.Text = result;
}
...
this.WebBrowser.InvokeScript("jsFunctionName", ProcessResult);
我需要实现这样的目标。 JavaScript 函数“jsFunctionName”是异步函数,需要一个捕获结果的回调。
但是,InvokeScript 方法的第二个参数接受对象数组。那么,如何将此 C# 方法/委托(delegate)传递给 InvokeScript 方法?
编辑:
即使我们可以将委托(delegate)传递给 WebBrowser 控件,控件中的脚本将如何调用 C# 委托(delegate)?
最佳答案
我建议您阅读这篇文章,了解有关使用 InvokeScript 实现双向通信的详细信息:http://msdn.microsoft.com/en-us/library/a0746166.aspx
此外,传递的对象不是回调而是参数。如果你想传递方法,我会选择将带有必要前缀的方法名称作为字符串传递给函数。
下面的简单代码显示了如何从 js 端组织调用(通过按钮单击,尽管它可能被理解为用作简单调用):
<button onclick=\"window.external.Test('called from script code')\>...</button>
如果从 js 调用任何方法有问题,您总是可以自由地实现采用字符串函数名称并调用必要函数的通用函数:
public void CallMethod(string methodName, params object[] parameters)
{
...
}
关于c# - 将委托(delegate)传递给 WPF WebBrowser.InvokeScript 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9831730/
InvokeScript() 方法返回 null。 JavaScript: function gpsToAddress(gpsX, gpsY) { var coords = new daum.
如何执行JS代码: callbacks [0] (this, {"__title": null}); 通过 -> wb.Document.InvokeScript(); 或者说还有什么办法? 最佳答案
我有一段代码如下。 webBrowser.IsScriptEnabled = true; webBrowser.InvokeScript("eval", "alert('hey')"); 它给出发生未
我正在开发 Windows Phone 7.5 PhoneGap 应用程序。我需要从 C# 后面的代码调用 JavaScript 函数。我的 MainPage.xaml.cs 如下。 using Sy
我在 wp7 上使用 InvokeScript 方法时遇到了一些困难: webBrowser1.InvokeScript("eval", string.Format("document.getElem
我正在开发 Windows Phone 8 应用程序,我是 Windows Phone 8 的新手。 我正在使用 WebBrowser 控件并尝试加载具有 javascript 的 html 页面。
我想在托管的 WebBrowser 中调用 JavaScript 函数。我的 JavaScript 函数很慢(在 UI 中不检索数据或 ajax),我想让我的 WPF 界面在执行 JavaScript
我试图在 WebBrowser 控件上使用 InvokeScript 方法来在已加载到我的 WebBrowser 控件中的网页上执行脚本。如果我只调用一个简单的 javascript 函数,那么它可以
我正在运行 OOB silverlight 应用程序,其中有一个 WebBrowser 控件,但是当我调用 InvokeScript 时出现此错误:- Attempted to perform an
我需要检查我的 Windows Phone 应用程序中的 WebBrowser 控件是否有历史记录,我想出如何做到这一点的方法是使用 browser.InvokeScript("eval", "if(
我无法理解我正在构建的这个函数的流程。 public void PortalLogin(AutoResetEvent signal) {
在Windows Phone 8中,您可以使用: (string)browser.InvokeScript("eval", "document.title.toString()"); 从浏览器返回页面
我的 Windows 10 通用应用程序正在使用一个 webview,它使用 InvokeScript 调用 JS 函数“eval”,同时将一些其他 javascript 注入(inject)该函数。
我正在使用以下代码从带有 WebBroser 控件的 C# 应用程序调用 javascript 函数 webBrowser1.Document.InvokeScript("function", new
我正在尝试围绕 last.fm 制作一个包装器,并且需要在页面中调用一些 javascript 函数。特别是 Stop、Skip、Ban 和 Love。 InvokeScript 似乎适用于页面 HT
这个错误似乎是由于调用的 javascript 函数中出现的任何错误而引发的: SystemException was unhandled An unknown error has occurr
提前致谢。 在我的 WPF 应用程序中,我能够使用 WebBrowser 的 InvokeScript(String, Object[]) 方法成功地将消息从 WPF 传送到 JavaScript。我
我正在 WebBrowser 控件上使用 InvokeScript,尝试使用适用于 HTML 的 Google Maps JavaScript API 制作简单的 map 。我在 JavaScript
public void ProcessResult(string result) { this.MyTextBox.Text = result; } ... this.WebBrowser.In
在我的 WinForms 应用程序中,我需要从我的 WebBrowser 控件调用 javascript 函数。我使用了 Document.InvokeScript,它可以完美地单独使用函数,例如 D
我是一名优秀的程序员,十分优秀!