HtmlDocument.InvokeScript Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
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ı WebBrowser1
bir 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 Object
olur. (Çağırarak ve kullanarak InvokeMemberbu tür nesneler üzerinde çağrı GetType yapabilirsiniz.) veya TABLE
gibi 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
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ı WebBrowser1
bir 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 Object
olur. (Çağırarak ve kullanarak InvokeMemberbu tür nesneler üzerinde çağrı GetType yapabilirsiniz.) veya TABLE
gibi 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.