我在寫這篇文章之前,微軟剛剛在它的官方網站上發布了Silverlight 4,感興趣的朋友可以去微軟官方網站上下載。與之前的版本一樣,Silverlight作為瀏覽器的外掛程式被嵌入到網頁中運行,並以object標記的形式存在於html中,我們可以通過param標記向Silverlight傳遞頁面參數,在通常情況下我們可以告訴Silverlight要載入的xap包的地址,以及Silverlight初始化時要使用的參數等,如:
<object data="data:application/x-silverlight," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="ClientBin/Video_Presentations.xap"/>
<param name="onerror" value="onSilverlightError" />
<param name="background" value="transparent" />
<param name="Windowless" value="true" />
<param name="minRuntimeVersion" value="3.0.40624.0" />
<param name="autoUpgrade" value="true" />
<a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40624.0" style="text-decoration: none;">
<img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none"/>
</a>
</object>
但其實我們還可以通過param向Silverlight傳遞更多有用的內容,通過msdn我們可以看到Silverlight Plug-in Object的所有引用:
下表列出了幾乎所有可能被使用到的參數:
| 參數 |
描述 |
類型 |
| allowHtmlPopupWindow |
指示Silverlight外掛程式中承載的內容是否可以使用HtmlPage.PopupWindow 方法來顯示新的瀏覽器視窗。對於同一個域中的應用程式,預設值為true;對於跨域應用程式,預設值為false。 |
Boolean |
| autoUpgrade |
指示早於minRuntimeVersion的Silverlight外掛程式版本是否將嘗試自動更新。預設值為true。 |
Boolean |
| background |
Silverlight外掛程式所在地區的預設背景色。該值預設情況下為白色。 |
Color with or without alpha (RGB, ScRGB) |
| enableAutoZoom |
指示宿主(對於某些平台)是否可以調用增加DPI的縮允許存取為。預設為true。 |
Boolean |
| enableCacheVisualization |
指示是否使用非生產分析可視化模式,顯示頁面中使用色彩覆蓋進行GPU加速的部分。通常在調試狀態下使用,不要在發行的版本中使用該參數。預設值為false。 |
Boolean |
| enableFramerateCounter |
指示是否在當前瀏覽器的狀態列中顯示當前的幀率(僅限於Microsoft Windows作業系統上的Microsoft Internet Explorer瀏覽器)。 |
Boolean |
| enableGPUAcceleration |
指示是否將圖形處理器單元(GPU)硬體加速用於緩衝合成,這將使圖形獲得最佳化。預設值為false。(注意該屬性不適用於無視窗模式,也就是在windowless=true的情況下設定該值為true無效) |
Boolean |
| enablehtmlaccess |
指示Silverlight外掛程式是否有權訪問當前瀏覽器中的DOM元素(文件物件模型)。對於同一個域中的應用程式,預設值為true;對於跨域應用程式,預設值為false。 |
Boolean |
| enableNavigation |
指示Silverlight外掛程式中所承載的內容是否可以使用HyperlinkButton來導航到外部URI。預設值為all。 |
all:承載的內容可以使用HyperlinkButton導航到任何URI。 none:承載的內容無法使用HyperlinkButton導航到外部URI,但仍允許用於內部導航的相對URI。 |
| enableRedrawRegions |
確定是否顯示用每個幀顯示重繪的各個外掛程式地區,此屬性僅用於在部署期間進行效能最佳化和可視化,不要在任何已部署的Silverlight應用程式中指定它。預設值為false。 |
Boolean |
| fullScreen |
指示Silverlight外掛程式是否顯示為全螢幕模式。預設值為false。 |
Boolean |
| getSystemGlyphTypefaces |
返回使用者的電腦上安裝的字型的GlyTypefaceCollection。 |
GlyTypefaceCollection |
| initParams |
使用者自訂的初始化參數列表。 |
以逗號分隔開的索引值對。 |
| isLoaded |
是否載入了所有初始內容。預設值為false。 |
Boolean |
| maxframerate |
Silverlight每秒可呈現的最大幀數。預設值為60。注意減小此值可能會使Silverlight動畫看起來不太流暢,但同時會加大Silverlight動畫和Javascript動畫之間並存執行的效率。 |
Integer |
| minRuntimeVersion |
指示運行基於Silverlight的應用程式所需的最小版本號碼。 |
Version number |
| onError |
指定在Silverlight外掛程式產生機器碼層級的XAML分析錯誤或執行階段錯誤時,要調試的處理常式的名稱。 |
JavaScript function名稱 |
| onFullScreenChanged |
指定FullScreenChanged事件的處理常式,當Silverlight外掛程式的FullScreen屬性更改時觸發該事件。 |
JavaScript function名稱 |
| onLoad |
指定Loaded事件的處理常式,當Silverlight外掛程式已完成載入到瀏覽器DOM中時觸發該事件。 |
JavaScript function名稱 |
| onResize |
指定Resized事件的處理常式,當調整Silverlight外掛程式object標記的大小以及當Silverlight外掛程式的ActualHeight或ActiveWidth發生更改時觸發該事件。 |
JavaScript function名稱 |
| onSourceDownloadComplete |
指定在完成源下載時調用的事件處理常式的名稱。 |
JavaScript function名稱 |
| onSourceDownloadProgressChanged |
指定在源下載進度更改時調用的事件處理常式的名稱。 |
JavaScript function名稱 |
| onZoom |
指定Silverlight外掛程式地區被宿主程式縮放時的事件處理常式。 |
JavaScript function名稱 |
| source |
用於載入和運行Silverlight外掛程式的xap包的地址。 |
URI |
| splashScreenSource |
指定在載入Silverlight外掛程式時的啟動顯示畫面畫面。 |
URI |
| windowless |
指示Silverlight外掛程式是否顯示為無視窗模式。預設值為false。 |
Boolean |