Versión imprimible       Enviar     
Evaluar y enviar comentarios
MSDN
MSDN Library
 ObjectForScripting (Propiedad)
Contraer todo/Expandir todo Contraer todo
Esta página es específica de
Microsoft Visual Studio 2005/.NET Framework 2.0

Hay además otras versiones disponibles para:
WebBrowser.ObjectForScripting (Propiedad)
Obtiene o establece un objeto al que se puede tener acceso creando código de secuencias de comandos contenido en una página Web que se muestra en el control WebBrowser.

Espacio de nombres: System.Windows.Forms
Ensamblado: System.Windows.Forms (en system.windows.forms.dll)

Visual Basic (Declaración)
Public Property ObjectForScripting As Object
Visual Basic (Uso)
Dim instance As WebBrowser
Dim value As Object

value = instance.ObjectForScripting

instance.ObjectForScripting = value
C#
public Object ObjectForScripting { get; set; }
C++
public:
property Object^ ObjectForScripting {
    Object^ get ();
    void set (Object^ value);
}
J#
/** @property */
public Object get_ObjectForScripting ()

/** @property */
public void set_ObjectForScripting (Object value)
JScript
public function get ObjectForScripting () : Object

public function set ObjectForScripting (value : Object)
XAML
No aplicable.

Valor de propiedad

El objeto disponible para el código de secuencias de comandos.
Tipo de excepciónCondición

ArgumentException

El valor especificado al establecer esta propiedad es una instancia de un tipo no público.

O bien

El valor especificado al establecer esta propiedad es una instancia de un tipo que no es visible a través de COM. Para obtener más información, vea Marshal.IsTypeVisibleFromCom.

Utilice esta propiedad para habilitar las comunicaciones entre una página Web alojada por el control WebBrowser y la aplicación que contiene el control WebBrowser. Esta propiedad le permite integrar el código HTML dinámico (DHTML) con el código de la aplicación cliente. El objeto especificado para esta propiedad está disponible para la secuencia de comandos de página Web como el objeto window.external, que es un objeto DOM integrado proporcionado para el acceso al host.

Puede establecer esta propiedad en cualquier objeto visible para COM para el que desee que sus propiedades y métodos públicos estén disponibles para el código de secuencias de comandos. Puede hacer que una clase sea visible para COM si la marca con ComVisibleAttribute.

Para llamar a funciones definidas en la página Web desde el código de la aplicación cliente, utilice el método HtmlDocument.InvokeScript del objeto HtmlDocument que puede recuperar de la propiedad Document.

En el ejemplo de código siguiente se muestra cómo se utiliza la propiedad ObjectForScripting. En el ejemplo, la propiedad ObjectForScripting se establece en el formulario actual.

Visual Basic
Imports System
Imports System.Windows.Forms
Imports System.Security.Permissions

<PermissionSet(SecurityAction.Demand, Name:="FullTrust")> _
<System.Runtime.InteropServices.ComVisibleAttribute(True)> _
Public Class Form1
    Inherits Form

    Private webBrowser1 As New WebBrowser()
    Private WithEvents button1 As New Button()

    <STAThread()> _
    Public Shared Sub Main()
        Application.EnableVisualStyles()
        Application.Run(New Form1())
    End Sub

    Public Sub New()
        button1.Text = "call script code from client code"
        button1.Dock = DockStyle.Top
        webBrowser1.Dock = DockStyle.Fill
        Controls.Add(webBrowser1)
        Controls.Add(button1)
    End Sub

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) _
        Handles Me.Load

        webBrowser1.AllowWebBrowserDrop = False
        webBrowser1.IsWebBrowserContextMenuEnabled = False
        webBrowser1.WebBrowserShortcutsEnabled = False
        webBrowser1.ObjectForScripting = Me
        ' Uncomment the following line when you are finished debugging.
        'webBrowser1.ScriptErrorsSuppressed = True

        webBrowser1.DocumentText = _
            "<html><head><script>" & _
            "function test(message) { alert(message); }" & _
            "</script></head><body><button " & _
            "onclick=""window.external.Test('called from script code')"" > " & _
            "call client code from script code</button>" & _
            "</body></html>"
    End Sub

    Public Sub Test(ByVal message As String)
        MessageBox.Show(message, "client code")
    End Sub

    Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) _
        Handles button1.Click

        webBrowser1.Document.InvokeScript("test", _
            New String() {"called from client code"})

    End Sub

End Class
C#
using System;
using System.Windows.Forms;
using System.Security.Permissions;

[PermissionSet(SecurityAction.Demand, Name="FullTrust")]
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
public class Form1 : Form
{
    private WebBrowser webBrowser1 = new WebBrowser();
    private Button button1 = new Button();

    [STAThread]
    public static void Main()
    {
        Application.EnableVisualStyles();
        Application.Run(new Form1());
    }

    public Form1()
    {
        button1.Text = "call script code from client code";
        button1.Dock = DockStyle.Top;
        button1.Click += new EventHandler(button1_Click);
        webBrowser1.Dock = DockStyle.Fill;
        Controls.Add(webBrowser1);
        Controls.Add(button1);
        Load += new EventHandler(Form1_Load);
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        webBrowser1.AllowWebBrowserDrop = false;
        webBrowser1.IsWebBrowserContextMenuEnabled = false;
        webBrowser1.WebBrowserShortcutsEnabled = false;
        webBrowser1.ObjectForScripting = this;
        // Uncomment the following line when you are finished debugging.
        //webBrowser1.ScriptErrorsSuppressed = true;

        webBrowser1.DocumentText =
            "<html><head><script>" +
            "function test(message) { alert(message); }" +
            "</script></head><body><button " +
            "onclick=\"window.external.Test('called from script code')\">" +
            "call client code from script code</button>" +
            "</body></html>";
    }

    public void Test(String message)
    {
        MessageBox.Show(message, "client code");
    }

    private void button1_Click(object sender, EventArgs e)
    {
        webBrowser1.Document.InvokeScript("test",
            new String[] { "called from client code" });
    }

}

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0
© 2009 Microsoft Corporation. Reservados todos los derechos. Términos de uso | Marcas Registradas | Privacidad
Page view tracker