在Silverlight 2.0应用程序中调用JavaScript

来源:互联网 发布:淘宝卖家被诈骗57000 编辑:程序博客网 时间:2024/06/07 00:46

章来源: IT工程技术网  http://www.systhinker.com/html/30/n-11530.html
1. 首先,使用VS 2008开启Silverlight 2.0 应用程式专案(你可以使用前面做过的例子,或是新增一个Silverlight 2.0 应用程式,里面放上一张图片当作广告)。

2. 在要触发JavaScript的XAML标签上,加入MouseLeftButtonUp事件的处理常式,并按下滑鼠右键,选取[巡览至事件处理常式]。

 

 

在Silverlight 2.0 的基本类别函式库中,定义了一个System.Windows.Browser的命名空间,里面包含了几个重要的物件类别:


只需要透过这些物件,我们就可以从Silverlight 2.0 的控制项中存取网页中的Html控制项内容,或是执行JavaScript!

3. 首先,在XAML程式原始档的最前面,加上引用System.Windows.Browser命名空间的宣告:

using System.Windows.Browser;
4. 当使用者点选图片之后,我们希望可以将网页超连结到广告商的网址。因此先取得网页中的Window物件:

HtmlWindow window = HtmlPage.Window;
HtmlWindow物件提供了Navigate方法,你只需要将网址封装成Uri物件带进去执行即可:

window.Navigate(new Uri(" http://www.silverlight.idv.tw"),

    "_blank");

若是要触发网页中的JavaScript函式的话,也可以直接透过HtmlWindow物件所提供的Invoke方法,再依序输入JavaScript的函式名称及参数值即可。

5. 若是要动态的搭配DOM控制网页中的Html控制项的话,你就必须要先取得网页中的Document物件:

HtmlDocument doc = HtmlPage.Document;
再透过GetElementById或是GetElementByTagName方法,你就可以在Silverlight 2.0 的程式中控制装载SIlverlight 2.0 控制项的网页内容了!! 例如下面的程式码可以将网页的背景色设为粉红色,3秒之后再调整回来:

HtmlDocument doc = HtmlPage.Document;
object data = doc.GetProperty("bgColor");
doc.SetProperty("bgColor", "pink");
System.Threading.Thread.Sleep(3000);
doc.SetProperty("bgColor" , data.ToString());

这次的课程完成的效果如下(点选图片开启连结):

The requested URL is not supported


The requested URL is not supported


[%S]

 

  • HtmlPage:表示目前装载Silverlight 2.0 控制项的网页。
  • HtmlWindow:表示网页中的Window物件。
  • HtmlDocument:表示网页中的Document物件。

 

The requested URL is not supported


The requested URL is not supported


[%S]

 

文章来源: IT工程技术网  http://www.systhinker.com/html/30/n-11530.html

 

原创粉丝点击