WebBrowser.InvokeScript Yöntem

Tanım

Şu anda yüklü olan belgede tanımlanan bir betik işlevi yürütür.

Aşırı Yüklemeler

Name Description
InvokeScript(String)

Şu anda yüklü olan belge tarafından uygulanan bir betik işlevi yürütür.

InvokeScript(String, Object[])

Şu anda yüklü olan belgede tanımlanan bir betik işlevini yürütür.

InvokeScript(String)

Şu anda yüklü olan belge tarafından uygulanan bir betik işlevi yürütür.

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

Parametreler

scriptName
String

Yürütülecek betik işlevinin adı.

Döndürülenler

Etkin Betik çağrısı tarafından döndürülen nesne.

Özel durumlar

Örnek WebBrowser artık geçerli değil.

Temel alınan yerel WebBrowser başvuru alınamadı.

Betik işlevi yok.

Örnekler

Aşağıdaki örnekte, InvokeScript(String) kullanarak bir WPF uygulamasından belgedeki bir betik işlevinin nasıl çağrıldığı gösterilmektedir. Bu örnekte betik işlevinin parametresi yoktur.

Aşağıda, WPF'den çağrılacak betik işlevini uygulayan HTML belgesi yer alır.

<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>

Aşağıda, HTML belgesinde betik işlevini çağırmak için WPF uygulaması gösterilmektedir.

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);
    }
  }
}

Açıklamalar

InvokeScript(String) uygulayan belge yüklenmeden önce çağrılmamalıdır. Olayı işleyerek LoadCompleted belgenin yüklenmesinin ne zaman tamamlandığını algılayabilirsiniz.

Şunlara uygulanır

InvokeScript(String, Object[])

Şu anda yüklü olan belgede tanımlanan bir betik işlevini yürütür.

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

Parametreler

scriptName
String

Yürütülecek betik işlevinin adı.

args
Object[]

Betik işlevine geçirecek parametreler.

Döndürülenler

Etkin Betik çağrısı tarafından döndürülen nesne.

Öznitelikler

Özel durumlar

Örnek WebBrowser artık geçerli değil.

Temel alınan yerel WebBrowser başvuru alınamadı.

Betik işlevi yok.

Örnekler

Aşağıdaki örnekte, kullanarak InvokeScript(String, Object[])bir belgedeki betik işlevlerinin bir uygulamadan nasıl çağrıldığı gösterilmektedir. Bu örnekte betik işlevleri parametre gerektirir.

Aşağıda, WPF'den çağrılacak betik işlevlerini uygulayan belge yer alır.

<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>

Aşağıda, HTML belgesindeki betik işlevlerini çağırmak için WPF uygulaması gösterilmektedir.

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);
    }
  }
}

Açıklamalar

InvokeScript(String, Object[]) uygulayan belge yüklenmeden önce çağrılmamalıdır. Olayı işleyerek LoadCompleted belgenin yüklenmesinin ne zaman tamamlandığını algılayabilirsiniz.

Çağırdığınız betikte yeterli parametre değeri geçirmezseniz, değerleri geçirmediğiniz parametreler tanımsız değere sahip olur. Çok fazla parametre değeri geçirirseniz, fazla değerler yoksayılır.

Şunlara uygulanır