2009-08-08 112 views
2

我有一個相當複雜的Silverlight橫幅,帶有插頁式廣告,懸停,活動區域等。這被指定在Silverlight 1/2中工作。檢測Silverlight服務器端

由於我是一名網絡標準粉絲,我希望適應那些沒有Silverlight的用戶,並在需要時切換到每個橫幅的同等JavaScript腳本版本。

爲了方便起見,我希望能夠做到這一點的服務器端,所以我可以相應地顯示/隱藏一個ASP:面板。這將讓我可以輕鬆地在Silerlight.non Silverlight環境之間進行測試,因爲我可以模擬一個非SL能力的體驗。

有沒有辦法讓我這麼做?我沒有注意到SL將自己宣佈爲UserAgent的一部分,但我們知道我們無論如何不能依賴於此。我是否僅限於依賴JavaScript並以某種方式使用它來告訴服務器我需要非SL內容?

+0

下面的代碼是否有幫助,或者您是否找到了更好的方法? – PortageMonkey 2009-08-12 15:08:17

+0

我實際上還沒有機會嘗試它,因爲有些東西出現了,但肯定在下個星期內。我確定我已經清除了甲板。我一定會接受/評價你的答案。很抱歉的延誤。 – 2009-08-13 07:14:53

回答

2

在ASP.NET/C#中,您可以調用IsVersionSupported方法

bool isSupported = host.IsVersionSupported("2.0.30908.0"); 

這應該返回false,如果沒有安裝該插件。

或者,您可以從客戶端或服務器調用JS方法,具體取決於您希望如何工作。 isInstalled方法可以在Silverlight.JS文件中找到。 JavaScript代碼:Silverlight.isInstalled(null);