微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SilverLight浏览器交互之:SilverLight程序调用外部Html中的Javascript方法附源码

SilverLight浏览器交互之:SilverLight程序调用外部Html中的Javascript方法(附源码)

概述

Webbrowser

从 Silverlight 3 开始,您将可以创建在浏览器宿主环境外运行的 Silverlight 应用程序。

通过 Webbrowser 控件,您可以在此宿主环境中显示 HTML 内容

您可以在 XAML 或代码添加 Webbrowser 控件。认情况下,Webbrowser 控件不具有大小。

因此,您必须指定 Height 和 Width 以使控件显示在应用程序中。当 Webbrowser 显示在运行在浏览器中的应用程序时,将显示具有指定高度和宽度的一个矩形,以便代替该控件。

您将 HTML 内容设置为以若干方式显示在 Webbrowser 控件中。

  

Webbrowser.InvokeScript 方法

执行在当前加载的 HTML 中定义的脚本函数

名称
说明

InvokeScript(String):执行在当前加载的 HTML 中定义的指定脚本。

InvokeScript(String,array<String>[]):使用指定的参数执行在当前加载的 HTML 中定义的指定脚本函数

 

Webbrowser.LoadCompleted 事件

当顶级导航完成且内容加载到 Webbrowser 控件中时发生,或在加载期间发生错误时发生。

 

效果

QQ拼音截图未命名

xaml代码

复制代码

    <Grid x:Name="LayoutRoot">
        Grid.Background
            LinearGradientBrush StartPoint="0,0" EndPoint
                GradientStop Color="#FF0055DD" Offset="0" />="#FF00DDFF"="1"</LinearGradientBrush

        <!--可以在此空间中显示 HTML 内容。
        Source 为Web中ClientBin中的一个页面-->Webbrowser ="web" Source="/script-page.htm" Margin="15"
    Grid>

复制代码

cs代码

public MainPage() { InitializeComponent(); //当顶级导航完成且内容加载到 Webbrowser 控件中时发生,或在加载期间发生错误时发生。 web.LoadCompleted +=new LoadCompletedEventHandler(web_LoadCompleted); } void web_LoadCompleted(object sender,NavigationEventArgs e) { 执行在当前加载的 HTML 中定义的脚本函数不含参数的Javascript方法 SayHello() web.InvokeScript("SayHello"); 一个参数的Javascript方法 GreetMe(name)GreetMe,'SilverLight'); }

复制代码

HTML代码

html xmlns="http://www.w3.org/1999/xhtml"headtitle></script language="JavaScript"> //为div1 添加内容 一个参数的方法function GreetMe(name) { div1.innerHTML += "<p>你好! + name </p>; } 无参数的方法 SayHello() { div1.innerHTML <p>你好!</p>; } scriptbody Hello World!br div id="div1"divhtml

复制代码

大功告成!

源码下载

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐