新聞中心
對(duì)于Silverlight嵌入HTML的開發(fā)方法,在今后的頁(yè)面開發(fā)中比較常見,需要控制的大多是嵌入插件。通過(guò)了解Silverlight嵌入HTML,能對(duì)大家今后的日常開發(fā)有所幫助。

河源網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),河源網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為河源超過(guò)千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的河源做網(wǎng)站的公司定做!
Object元素可以被用于Silverlight插件的HTML嵌入和配置,但是要在瀏覽器兼容的方式下進(jìn)行。比較常見的應(yīng)用有倆種,一個(gè)是嵌入Silverlight 插件,并將該應(yīng)用程序指定給宿主。另一個(gè)是指定在未安裝Silverlight 時(shí)顯示的備用HTML。
這些應(yīng)用對(duì)應(yīng)于 HTML 頁(yè)的不同部分,尤其是,對(duì)應(yīng)于object 元素的不同配置參數(shù)。首先我們來(lái)介紹怎樣使用每個(gè)過(guò)程中的代碼段。***把他們結(jié)合起來(lái),就確保得到了跨瀏覽器兼容性,并基于 Visual Studio 和 Expression Blend 用來(lái)動(dòng)態(tài)生成測(cè)試頁(yè)的模板。
嵌入插件
將object 元素添加到HTML,并指定屬性和子param 元素。
- data="data:application/x-silverlight-2,"
- type="application/x-silverlight-2" >
- name="source" value="SilverlightApplication1.xap"/>
width 和 eight 屬性是跨瀏覽器兼容性所必需的??梢韵鄬?duì)于父元素的寬度和高度指定固定像素值或百分比。如果使用相對(duì)大小調(diào)整,可以通過(guò)處理 Content.Resized 事件對(duì)插件大小的更改做出響應(yīng)。
type 屬性和顯示的特定值也是必需的。此值使用 Silverlight MIME 類型來(lái)標(biāo)識(shí)插件和必需的版本。建議使用 data 屬性及其值,以避免某些瀏覽器出現(xiàn)性能問(wèn)題。請(qǐng)注意數(shù)據(jù)值的尾隨逗號(hào)。它表示具有空值的第二個(gè)數(shù)據(jù)參數(shù)。名為 source 的 param 元素是必需的,該元素表示應(yīng)用程序文件的位置和名稱。通常在相對(duì)于 HTML 文件的位置指定一個(gè) .xap 應(yīng)用程序包。
指定要在未安裝 Silverlight 時(shí)顯示的備用HTML
向子param元素后的object元素添加HTML內(nèi)容。
- data="data:application/x-silverlight-2,"
- type="application/x-silverlight-2" >
- name="source" value="SilverlightApplication1.xap"/>
- href="http://go.microsoft.com/fwlink/?LinkID=149156"
- style="text-decoration: none;">
src="http://go.microsoft.com/fwlink/?LinkId=108181"
- alt="Get Microsoft Silverlight"
- style="border-style: none"/>
該示例顯示了默認(rèn)安裝映像源和安裝程序URI。使用這些URI,服務(wù)器可以檢測(cè)到用戶的瀏覽器設(shè)置以提供正確版本的安裝映像和安裝程序。如果用戶的瀏覽器不受支持,單擊映像可使瀏覽器打開Silverlight Requirements頁(yè)。
為了將Silverlight安裝體驗(yàn)集成到網(wǎng)頁(yè)中,可以任意提供復(fù)雜的備用HTML。不過(guò),在許多情況下,用戶必須在安裝 Silverlight 后重新啟動(dòng)或刷新瀏覽器。對(duì)于 Internet Explorer 而言,只需要刷新瀏覽器,除非用戶安裝的是早期版本的Silverlight 并通過(guò)安裝鏈接升級(jí)。也可以自動(dòng)刷新瀏覽器,或者通過(guò)使用Silverlight.js 文件中的幫助器功能取消刷新要求。還可以使用Silverlight.js 執(zhí)行細(xì)化的瀏覽器要求檢測(cè)。
下面的代碼示例提供了使用整個(gè)瀏覽器窗口的Silverlight 應(yīng)用程序的完整HTML頁(yè)。該示例基于當(dāng)您選擇動(dòng)態(tài)生成測(cè)試頁(yè)時(shí)Visual Studio 所使用的默認(rèn)HTML。該示例使用級(jí)聯(lián)樣式表 (CSS) 和 div 元素來(lái)包含插件。這可以確保插件延伸到瀏覽器窗口的邊緣。此元素和其他附加到HTML 的元素有助于確??鐬g覽器兼容。
iframe元素也用于確??鐬g覽器兼容性。iframe 的存在可避免 Safari 瀏覽器緩存頁(yè)面。當(dāng)用戶向后導(dǎo)航到以前訪問(wèn)過(guò)的Silverlight 頁(yè)面時(shí),Safari 緩存可避免重新加載Silverlight 插件。該示例使用JavaScript 函數(shù)處理插件的OnError 事件。JavaScript 錯(cuò)誤處理程序在調(diào)試過(guò)程中很有用,但通常在部署應(yīng)用程序時(shí)將其移除。
本示例還包含minRuntimeVersion 和autoUpgrade 設(shè)置以便在未安裝指定Silverlight 版本時(shí)提供升級(jí)體驗(yàn)。若要在Web 瀏覽器窗口中查看該示例,必須在source 參數(shù)中指定有效的 Silverlight 應(yīng)用程序包。
Silverlight嵌入HTML代碼
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- >
SilverlightApplication1 id="silverlightControlHost">- type="application/x-silverlight-2"
- data="data:application/x-silverlight-2," >
- name="source" value="SilverlightApplication1.xap"/>
- name="onerror" value="onSilverlightError" />
- name="background" value="white" />
- name="minRuntimeVersion" value="3.0.40620.0" />
- name="autoUpgrade" value="true" />
- style="text-decoration: none;">
![]()
- src="http://go.microsoft.com/fwlink/?LinkId=108181"
- alt="Get Microsoft Silverlight"
- style="border-style: none"/>
- style='visibility:hidden;height:0px;width:0px;border:0px'>
其實(shí)Silverlight程序是以控件的形式嵌入到HTML頁(yè)面中的,這里是把將要整合的HTML頁(yè)面利用iframe置于Silverlight控件之上,而不影響Silverlight控件的正常工作。
操作要點(diǎn):1.編輯按鈕的xaml,定義MouseLeftButtonDown,使按下鼠標(biāo)左鍵時(shí),觸發(fā)相應(yīng)函數(shù)。2.在該頁(yè)面的js文件中,關(guān)聯(lián)按鈕。
代碼:
- function On_MouseLeftButtonDown(sender,args){
- document.getElementById('iframe').style.visibility = "visible";
- }
- //開啟HTML頁(yè)面,將名為iframe的隱藏層的visibility屬性改為visible顯示
- function Off_MouseLeftButtonDown(sender,args){
- document.getElementById('iframe').style.visibility = "hidden";
- }
- //關(guān)閉HTML頁(yè)面,將名為iframe的隱藏層的visibility屬性改為hidden隱藏
3.該項(xiàng)目的html文件。
代碼:
id="iframe" style="position:absolute; width:640px; height:450px; z-index:1; left: 10px; top: 45px;visibility:hidden">- // 將iframe嵌入一個(gè)div層,并通過(guò)調(diào)整z-index值與visibility屬性將該層置于Silverlight控件層上方并隱藏,以不影響Silverlight程序正常工作。
- //調(diào)整DIV層的位置大小。
也可以通過(guò)修改Silverlight中的isWindowless屬性為TRUE,然后利用
當(dāng)前文章:淺析Silverlight嵌入HTML的實(shí)現(xiàn)方法
本文路徑:http://www.dlmjj.cn/article/cdsicsp.html


咨詢
建站咨詢
