对不起,愚蠢的问题,我只想从我的 VB/C# 代码将一个 JOSN 字符串传递给 webbrowser 中的网页,网页中的 javascript 可以通过某些接口调用 VB/C# 方法吗?就像android javascript界面一样,非常感谢
问问题
512 次
2 回答
3
如果我理解正确,
webBrowser2.ObjectForScripting = new ScriptClass();
webBrowser2.DocumentText = "<html><script>window.external.Test('hello')</script></html>";
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
public class ScriptClass
{
public void Test(string msg)
{
MessageBox.Show(msg);
}
}
于 2012-10-16T18:10:54.380 回答
2
因此,您正在使用 WebBrowser 控件并且需要在它显示的页面中调用 JavaScript 方法?是的,你可以这样做。它不在 WebBrowser 本身上,但HtmlDocument
由 WebBrowser 的Document
属性公开的对象有一个InvokeScript()
方法组,它允许您以编程方式调用页面 DOM 中的任何 ECMAScript 兼容方法,可选择将一系列参数作为对象传递大批。
反过来,这可用于触发从 JavaScript 到 JSON Web 服务的调用(您在主 CLR 程序中公开该服务,并通过将信息传递给页面来告知页面InvokeScript()
)。这是基本的 JSON/AJAX 客户端-服务器脚本,所有内容都封装在一个程序中,与自己对话。这不是完成工作的最有效方式,但如果您已经拥有完成工作的这些层,并且只想发布一个独立的应用程序,那么它就可以工作。
于 2012-10-16T17:53:52.717 回答