WebBrowser.InvokeScript Method (String)

Executes the specified script, which is defined in the currently loaded HTML.

Namespace:  System.Windows.Controls
Assembly:  System.Windows (in System.Windows.dll)

public Object InvokeScript(
	string scriptName


Type: System.String
The name of the script to execute.

Return Value

Type: System.Object
The result of the script invocation.


The script target is at a cross-domain location.

If the call to InvokeScript loads cross-domain content, you can no longer interact with that content with InvokeScript. For security reasons, you cannot call this method on script targets hosted inside an <iframe>.

In the following example, InvokeScript is called, which in turn calls the LoadSearch function in the following HTML. The HTML file must be hosted in the same domain as the Silverlight application.

<html xmlns="http://www.w3.org/1999/xhtml" >
    <script type="text/javascript" >
    function LoadSearch(searchString) {
        window.location = "http://www.bing.com/search?q=" + searchString
        window.external.notify("Search completed")
Silverlight WebBrowser control.

public partial class MainPage : UserControl
    public MainPage()

    void WB1_ScriptNotify(object sender, NotifyEventArgs e)
        Button1.Content = e.Value;
        Button1.IsEnabled = false;


    private void Button1_Click(object sender, RoutedEventArgs e)
        object results = WB1.InvokeScript("LoadSearch", new string[] { "Silverlight" });

<StackPanel x:Name="LayoutRoot" Height="358" Width="489" Background="LightBlue">
    <WebBrowser  x:Name="WB1" Source="http://localhost/HTMLPage1.htm" Height="272" Width="379" 
                 ScriptNotify="WB1_ScriptNotify" Margin="5" />
    <Button Width="200" x:Name="Button1" Content="Click to search!" Click="Button1_Click" />


Supported in: 5, 4

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.