Aracılığıyla paylaş


HtmlDocument.InvokeScript Yöntem

Tanım

HTML sayfasında tanımlanan bir Etkin Betik işlevi yürütür.

Aşırı Yüklemeler

InvokeScript(String)

HTML sayfasında tanımlanan bir Etkin Betik işlevi yürütür.

InvokeScript(String, Object[])

HTML sayfasında tanımlanan bir Etkin Betik işlevi yürütür.

Örnekler

Aşağıdaki kod örneği, web sayfasındaki bir betiğin içeriğini yürütür. Kod örneği için aşağıdaki Web sayfasını yüklemiş olmanız gerekir.

<HTML>  
<SCRIPT>  
function test(name, address) {  
window.alert("Name is " + name + "; address is " + address);  
}  
</SCRIPT>  

<BODY>  
</BODY>  
</HTML>  
private void InvokeTestMethod(String name, String address)
{
    if (webBrowser1.Document != null)
    {
        Object[] objArray = new Object[2];
        objArray[0] = (Object)name;
        objArray[1] = (Object)address;
        webBrowser1.Document.InvokeScript("test", objArray);
    }
}
Private Sub InvokeTestMethod(ByVal Name As String, ByVal Address As String)
    If (Not (WebBrowser1.Document Is Nothing)) Then
        Dim ObjArr(2) As Object
        ObjArr(0) = CObj(New String(Name))
        ObjArr(1) = CObj(New String(Address))
        WebBrowser1.Document.InvokeScript("test", ObjArr)
    End If
End Sub

InvokeScript(String)

HTML sayfasında tanımlanan bir Etkin 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

Çağrılacak betik yönteminin adı.

Döndürülenler

Object

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

Örnekler

Aşağıdaki kod örneği, web sayfasındaki bir betiğin içeriğini yürütür. Kod örneği, uygulamanızda adlı WebBrowser1bir WebBrowser öğesinin olmasını ve aşağıdaki Web sayfasını yüklemenizi gerektirir.

<HTML>  

    <HEAD>  
        <TITLE>Invoke Script Sample</TITLE>  

        <SCRIPT>  
            function MyObject() {  
                this.Data = "Data for my private object.";  
            }  
            // Return a string.  
            function test() {  
                return("This is a test.");  
            }  
            // Return a JScript object.  
            function testJScriptObject() {  
                return(new(MyObject));  
            }  
            // Return a DOM element.  
            function testElement() {  
                return(div1);  
            }  
        </SCRIPT>  
    </HEAD>  

    <BODY>  

        <DIV id="div1">  
        </DIV>  

    </BODY>  

</HTML>  
private void InvokeScript()
{
    if (webBrowser1.Document != null)
    {
        HtmlDocument doc = webBrowser1.Document;
        String str = doc.InvokeScript("test").ToString() ;
        Object jscriptObj = doc.InvokeScript("testJScriptObject");
        Object domOb = doc.InvokeScript("testElement");
    }
}
Private Sub InvokeScript()
    If (WebBrowser1.Document IsNot Nothing) Then
        With WebBrowser1.Document
            Dim Str As String = .InvokeScript("test")
            Dim JScriptObj As Object = .InvokeScript("testJScriptObject")
            Dim DomObj As Object = .InvokeScript("testElement")
        End With
    End If
End Sub

Açıklamalar

tarafından InvokeScript döndürülen nesnenin temel türü farklılık gösterir. Çağrılan Etkin Betik işlevi dize veya tamsayı gibi skaler veriler döndürürse, dize olarak döndürülür. JScript veya VBScript new işleci kullanılarak oluşturulan bir nesne gibi betik tabanlı bir nesne döndürürse, türünde Objectolur. (Çağırarak ve kullanarak InvokeMemberbu tür nesneler üzerinde çağrı GetType yapabilirsiniz.) veya TABLEgibi DIV bir HTML DOM öğesi döndürürse, türünde olurObject; MSHTML.DLL bir proje başvurusu eklediyseniz, ancak belirli yönetilmeyen DOM türüne yayınlanır.

JScript ve VBScript dahil olmak üzere kullanıcının bilgisayarında yüklü olan herhangi bir Etkin Betik diliyle yazılmış herhangi bir işlevi çağırabilirsiniz.

InvokeScript, kullanıcı Internet Explorer'da betik yürütmeyi açıkça kapattıysa veya Web sayfasının geçerli güvenlik yapılandırması buna izin vermiyorsa hiçbir şey yapmaz.

Şunlara uygulanır

InvokeScript(String, Object[])

HTML sayfasında tanımlanan bir Etkin Betik işlevi yürütür.

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

Parametreler

scriptName
String

Çağrılacak betik yönteminin adı.

args
Object[]

Betik yöntemine geçirecek bağımsız değişkenler.

Döndürülenler

Object

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

Örnekler

Aşağıdaki kod örneği, web sayfasındaki bir betiğin içeriğini yürütür. Kod örneği, uygulamanızda adlı WebBrowser1bir WebBrowser öğesinin olmasını ve aşağıdaki Web sayfasını yüklemenizi gerektirir.

<HTML>  
    <SCRIPT>  
        function test(name, address) {  
            window.alert("Name is " + name + "; address is " + address);  
        }  
    </SCRIPT>  

    <BODY>  
    </BODY>  
</HTML>  
private void InvokeTestMethod(String name, String address)
{
    if (webBrowser1.Document != null)
    {
        Object[] objArray = new Object[2];
        objArray[0] = (Object)name;
        objArray[1] = (Object)address;
        webBrowser1.Document.InvokeScript("test", objArray);
    }
}
Private Sub InvokeTestMethod(ByVal Name As String, ByVal Address As String)
    If (Not (WebBrowser1.Document Is Nothing)) Then
        Dim ObjArr(2) As Object
        ObjArr(0) = CObj(New String(Name))
        ObjArr(1) = CObj(New String(Address))
        WebBrowser1.Document.InvokeScript("test", ObjArr)
    End If
End Sub

Açıklamalar

tarafından InvokeScript döndürülen nesnenin temel türü farklılık gösterir. Çağrılan Etkin Betik işlevi dize veya tamsayı gibi skaler veriler döndürürse, dize olarak döndürülür. JScript veya VBScript new işleci kullanılarak oluşturulan bir nesne gibi betik tabanlı bir nesne döndürürse, türünde Objectolur. (Çağırarak ve kullanarak InvokeMemberbu tür nesneler üzerinde çağrı GetType yapabilirsiniz.) veya TABLEgibi DIV bir HTML DOM öğesi döndürürse, türünde olurObject; MSHTML.DLL bir proje başvurusu eklediyseniz, ancak belirli yönetilmeyen DOM türüne yayınlanır.

JScript ve VBScript dahil olmak üzere kullanıcının makinesinde yüklü herhangi bir Etkin Betik diliyle yazılmış herhangi bir işlevi çağırabilirsiniz.

Kullanıcı Internet Explorer'da betik yürütmeyi açıkça kapattıysa veya Web sayfası için geçerli güvenlik yapılandırması izin vermiyorsa bu yöntem hiçbir şey yapmaz.

Şunlara uygulanır