Silverlight集成HTML具體實現技巧介紹
Silverlight的做喲歐諾個是非常強大的。我們可以使用這樣的一款開發工具輕松的實現與多媒體有關的相關操作。在這里我們將會了解到Silverlight集成HTML的一些技巧方法。#t#
Object元素可以被用于Silverlight集成HTML的操作中,但是要在瀏覽器兼容的方式下進行。比較常見的應用有倆種,一個是嵌入 Silverlight 插件,并將該應用程序指定給宿主。另一個是指定在未安裝 Silverlight 時顯示的備用 HTML。
這些應用對應于 HTML 頁的不同部分,尤其是,對應于 object 元素的不同配置參數。首先我們來介紹怎樣使用每個過程中的代碼段。***把他們結合起來,就確保得到了跨瀏覽器兼容性,并基于 Visual Studio 和 Expression Blend 用來動態生成測試頁的模板。
嵌入插件
將 object 元素添加到 HTML,并指定屬性和子 param 元素實現Silverlight集成HTML。
- < object width="300" height="300"
- data="data:application
/x-silverlight-2,"- type="application/x-
silverlight-2" >- < param name="source"
value="SilverlightApplication1.xap"/>- < /object>
width 和 height 屬性是跨瀏覽器兼容性所必需的。可以相對于父元素的寬度和高度指定固定像素值或百分比。如果使用相對大小調整,可以通過處理 Content.Resized 事件對插件大小的更改做出響應。
type 屬性和顯示的特定值也是必需的。此值使用 Silverlight MIME 類型來標識插件和必需的版本。建議使用 data 屬性及其值,以避免某些瀏覽器出現性能問題。請注意數據值的尾隨逗號。它表示具有空值的第二個數據參數。名為 source 的 param 元素是必需的,該元素表示應用程序文件的位置和名稱。通常在相對于 HTML 文件的位置指定一個 .xap 應用程序包。
指定要在未安裝 Silverlight 時顯示的備用 HTML
向子 param 元素后的 object 元素添加 HTML 內容實現Silverlight集成HTML。
- < object id="SilverlightPlugin1"
width="300" height="300"- data="data:application/x-silverlight-2,"
- type="application/x-silverlight-2" >
- < param name="source" value=
"SilverlightApplication1.xap"/>- < !-- Display installation image. -->
- < a href="http://go.microsoft.
com/fwlink/?LinkID=149156"- style="text-decoration: none;">
- < img src="http://go.microsoft.
com/fwlink/?LinkId=108181"- alt="Get Microsoft Silverlight"
- style="border-style: none"/>
- < /a>
- < /object>
該示例顯示了默認安裝映像源和安裝程序 URI。使用這些 URI,服務器可以檢測到用戶的瀏覽器設置以提供正確版本的安裝映像和安裝程序。如果用戶的瀏覽器不受支持,單擊映像可使瀏覽器打開 Silverlight Requirements頁。
為了將 Silverlight 安裝體驗集成到網頁中,可以任意提供復雜的備用 HTML。不過,在許多情況下,用戶必須在安裝 Silverlight 后重新啟動或刷新瀏覽器。對于 Internet Explorer 而言,只需要刷新瀏覽器,除非用戶安裝的是早期版本的 Silverlight 并通過安裝鏈接升級。也可以自動刷新瀏覽器,或者通過使用 Silverlight.js 文件中的幫助器功能取消刷新要求。還可以使用 Silverlight.js 執行細化的瀏覽器要求檢測。
該Silverlight集成HTML示例基于當您選擇動態生成測試頁時 Visual Studio 所使用的默認 HTML。該示例使用級聯樣式表 (CSS) 和 div 元素來包含插件。這可以確保插件延伸到瀏覽器窗口的邊緣。此元素和其他附加到 HTML 的元素有助于確保跨瀏覽器兼容。
iframe 元素也用于確保跨瀏覽器兼容性。iframe 的存在可避免 Safari 瀏覽器緩存頁面。當用戶向后導航到以前訪問過的 Silverlight 頁面時,Safari 緩存可避免重新加載 Silverlight 插件。該示例使用 JavaScript 函數處理插件的 OnError 事件。JavaScript 錯誤處理程序在調試過程中很有用,但通常在部署應用程序時將其移除。