WebBrowser.InvokeScript Metódus

Definíció

Végrehajt egy szkriptelési függvényt, amely az aktuálisan betöltött dokumentumban van definiálva.

Túlterhelések

Name Description
InvokeScript(String)

Végrehajt egy szkriptfüggvényt, amelyet az aktuálisan betöltött dokumentum implementál.

InvokeScript(String, Object[])

Végrehajt egy szkriptfüggvényt, amely az aktuálisan betöltött dokumentumban van definiálva.

InvokeScript(String)

Végrehajt egy szkriptfüggvényt, amelyet az aktuálisan betöltött dokumentum implementál.

public:
 System::Object ^ InvokeScript(System::String ^ scriptName);
public object InvokeScript(string scriptName);
member this.InvokeScript : string -> obj
Public Function InvokeScript (scriptName As String) As Object

Paraméterek

scriptName
String

A végrehajtandó szkriptfüggvény neve.

Válaszok

Az aktív szkriptelési hívás által visszaadott objektum.

Kivételek

A WebBrowser példány már nem érvényes.

A mögöttes natívra WebBrowser mutató hivatkozás nem kérhető le.

A szkriptfüggvény nem létezik.

Példák

Az alábbi példa bemutatja, hogyan hívhat meg egy szkriptfüggvényt egy dokumentumban egy WPF alkalmazásból InvokeScript(String) használatával. Ebben a példában a szkriptfüggvénynek nincsenek paraméterei.

Az alábbi HTML-dokumentum implementálja a WPF meghívandó szkriptfüggvényt.

<html>
    <head>
        <script type="text/javascript">
            // Function Without Parameters
            function JavaScriptFunctionWithoutParameters()
            {
              outputID.innerHTML = "JavaScript function called!";
            }
        </script>
    </head>
    <body>
    <div id="outputID" style="color:Red; font-size:16">
        Hello from HTML document with script!
    </div>
    </body>
</html>

Az alábbiakban a HTML-dokumentumban található szkriptfüggvény meghívására WPF implementáció látható.

private void callScriptFunctionNoParamButton_Click(object sender, RoutedEventArgs e)
{
  // Make sure the HTML document has loaded before attempting to
  // invoke script of the document page. You could set loadCompleted
  // to true when the LoadCompleted event on the WebBrowser fires.
  if (this.loadCompleted)
  {
    try
    {
      this.webBrowser.InvokeScript("JavaScriptFunctionWithoutParameters");
    }
    catch (Exception ex)
    {
      string msg = "Could not call script: " +
                   ex.Message +
                  "\n\nPlease click the 'Load HTML Document with Script' button to load.";
      MessageBox.Show(msg);
    }
  }
}

Megjegyzések

InvokeScript(String) nem hívható meg, mielőtt az azt megvalósító dokumentum betöltése befejeződött volna. Az esemény kezelésével észlelheti, hogy mikor fejeződött be egy LoadCompleted dokumentum betöltése.

A következőre érvényes:

InvokeScript(String, Object[])

Végrehajt egy szkriptfüggvényt, amely az aktuálisan betöltött dokumentumban van definiálva.

public:
 System::Object ^ InvokeScript(System::String ^ scriptName, ... cli::array <System::Object ^> ^ args);
[System.Security.SecurityCritical]
public object InvokeScript(string scriptName, params object[] args);
public object InvokeScript(string scriptName, params object[] args);
[<System.Security.SecurityCritical>]
member this.InvokeScript : string * obj[] -> obj
member this.InvokeScript : string * obj[] -> obj
Public Function InvokeScript (scriptName As String, ParamArray args As Object()) As Object

Paraméterek

scriptName
String

A végrehajtandó szkriptfüggvény neve.

args
Object[]

A szkriptfüggvénynek átadni kívánt paraméterek.

Válaszok

Az aktív szkriptelési hívás által visszaadott objektum.

Attribútumok

Kivételek

A WebBrowser példány már nem érvényes.

A mögöttes natívra WebBrowser mutató hivatkozás nem kérhető le.

A szkriptfüggvény nem létezik.

Példák

Az alábbi példa bemutatja, hogyan hívhat meg szkriptfüggvényeket egy dokumentumban egy alkalmazás használatával InvokeScript(String, Object[]). Ebben a példában a szkriptfüggvények paramétereket igényelnek.

Az alábbi dokumentum implementálja a WPF meghívandó szkriptfüggvényeket.

<html>
    <head>
        <script type="text/javascript">
            // Function Without Parameters
            function JavaScriptFunctionWithoutParameters()
            {
              outputID.innerHTML = "JavaScript function 'called: " + message + ".";
            }
        </script>
    </head>
    <body>
    <div id="outputID" style="color:Red; font-size:16">
        Hello from HTML document with script!
    </div>
    </body>
</html>

Az alábbiakban a HTML-dokumentumban található szkriptfüggvények meghívására WPF implementációt mutatjuk be.

private void callScriptFunctionNoParamButton_Click(object sender, RoutedEventArgs e)
{
  // Make sure the HTML document has loaded before attempting to
  // invoke script of the document page. You could set loadCompleted
  // to true when the LoadCompleted event on the WebBrowser fires.
  if (this.loadCompleted)
  {
    try
    {
      this.webBrowser.InvokeScript("JavaScriptFunctionWithoutParameters", this.messageTextBox.Text);
    }
    catch (Exception ex)
    {
      string msg = "Could not call script: " +
                   ex.Message +
                  "\n\nPlease click the 'Load HTML Document with Script' button to load.";
      MessageBox.Show(msg);
    }
  }
}

Megjegyzések

InvokeScript(String, Object[]) nem hívható meg, mielőtt az azt megvalósító dokumentum betöltése befejeződött volna. Az esemény kezelésével észlelheti, hogy mikor fejeződött be egy LoadCompleted dokumentum betöltése.

Ha nem ad át elegendő paraméterértéket a megírt szkriptnek, azoknak a paramétereknek, amelyeket nem ad át az értékeknek, a nem definiált értékkel fognak rendelkezni. Ha túl sok paraméterértéket ad át, a rendszer figyelmen kívül hagyja a felesleges értékeket.

A következőre érvényes: