如何允许我的应用程序被WebBrowser控件中托管的Javascript操纵?

时间:2012-11-25 00:42:14

标签: c# javascript browser

我发现stackoverflow问题回答了如何将javascript注入WebBrowser元素,但我想知道如何允许WebBrowser控件中的javascript代码与我的应用程序进行交互。例如,Web开发人员可以按照

的方式执行某些操作
ghostmancersBrowser.app.color="red";

这会导致应用程序的颜色方案切换为红色。

这只是一个例子 - 我不需要这个,我只想知道从哪里开始。

1 个答案:

答案 0 :(得分:1)

您可以使用WebBrowser控件的ObjectForScripting属性来提供此类功能。基本上,这允许您将部分应用程序暴露给在WebBrowser控件内运行的Javascript。

您需要做的是:

  1. 有一个可以实例化的类,允许操作您的应用程序(根据您的示例将颜色方案设置为红色)。
  2. 在包含WebBrowser控件的表单中,将其ObjectForScripting设置为所述类的实例。
  3. 在WebBrowser控件中执行的Javascript中,调用所述对象上的方法。如果其中一个方法被称为SetAppColourScheme,则您的Javascript将为window.external.SetAppColourScheme('red')
相关问题