本文将分两步进行说明,第一步说明如何在silverlight的xaml脚本中加入HTML。第二步说如何在silverlight中调用HTML中的JavaScript函数。说明:vs2010 ultimate + silverlight5
本文中所有代码都可以在github中查看,git版本中采用了master-dev的方式。在master中可以查看每一个demo的最后完成,在dev中可以查看每一步的代码。
github地址:git@github.com:kiwiwin/silverlight-demo.git。文件夹名称HTMLhost-JavaScript-demo
一、在xaml中加入HTML
1.在xaml中加入一个HTMLHost Control,显示的内容就是hello.HTML中的内容,是“hello,kiwi_coder”
<StackPanel x:name="LayoutRoot" Background="White"> <divtools:HTMLHost x:name="HTMLHost" SourceUri="hello.HTML" WIDth="500" Height="500"></divtools:HTMLHost> </StackPanel>
2.为了使用HTMLHost,需要将silverlightControlHost设为windowless,这里我删除了.aspx,只用了.HTML:添加如下
<param name="windowless" value="true"/>
最后的silverlightControlHost:
<div ID="silverlightControlHost"> <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" wIDth="100%" height="100%"> <param name="source" value="ClIEntBin/HTMLhost-JavaScript-demo.xap"/> <param name="onError" value="onSilverlightError" /> <param name="background" value="white" /> <param name="minRuntimeVersion" value="5.0.61118.0" /> <param name="autoUpgrade" value="true" /> <param name="windowless" value="true"/> <a href="http://go.microsoft.com/fwlink/?linkID=149156&v=5.0.61118.0" > <img src="http://go.microsoft.com/fwlink/?linkID=161376" alt="Get Microsoft Silverlight" /> </a> </object><iframe ID="_sl_historyFrame" ></iframe></div>
3.run,显示如图:
二、在silverlight中调用HTML中的JavaScript函数
1.在hello.HTML定义一个名为sayHello的函数,该函数被调用时,d出一个提示信息,显示“Hello,kiwi_coder”.
function sayHello() { alert("Hello,kiwi_coder"); }
2.为了方便,在silverlight所在的HTMLhost-JavaScript-demoTestPage.HTML中定义一个函数askHTMLSayHello.说明:HTMLHost是自动在HTMLhost-JavaScript-demoTestPage.HTML中最后添加了一个iframe,所以取最后一个即是HTML所在的iframe。
function askHTMLSayHello() { window.frames[window.frames.length-1].sayHello(); }
3.在MainPage.xaml中添加一个button用来调用HTML中的JavaScript函数:
public partial class MainPage : UserControl {//... private voID SayHello(object sender,RoutedEventArgs e) { HTMLPage.Window.Invoke("askHTMLSayHello"); } }
4.run
总结以上是内存溢出为你收集整理的Silverlight嵌入Html并调用该Html中的Javascript全部内容,希望文章能够帮你解决Silverlight嵌入Html并调用该Html中的Javascript所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)