Hier ein Beispiel für eine Flasherkennung.
Es wird einmal überprüft ob ein ein Flash-Player vorhanden ist, das Ergebnis true oder false wird dann in einer Session-Variablen gespeichert.
Zunächst wird gecheckt ob die Überprüfung schon geschehen ist:
<%
//Flash-Prüfung schon geschehen?
if (Session["flash"] == null) {
Session["backurl"] = Request.ServerVariables["SCRIPT_NAME"].ToString();
Response.Redirect("/check_flash.aspx");
}
%>
Wenn die Session-Variable leer ist, dann wird die Überprüfung gestartet.
Hierzu wird die Seite check_flash.aspx aufgrufen. Dieses überprüft per Javascript ob ein Flash-Player vorhanden ist.
<script type="text/javascript"> <!--
/***
* Javascript Flash Detection (14.02.2005)
* (c) Oliver Nowak
* http://www.deydesigns.com
*
* Nicht vergessen, credits where they are due.
*/
function flash_detection(required, max)
{
var required_version = required;
var max_version = max;
var available_version = 0;
if(typeof(navigator.plugins["Shockwave Flash"]) == "object")
{
var description = navigator.plugins["Shockwave Flash"].description;
available_version = description.substr(16, (description.indexOf(".", 16) - 16));
}
else if(typeof(ActiveXObject) == "function")
{
for(var i = 2; i < (max_version + 1); i ++)
{
try
{
if(typeof(new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i)) == "object")
{
available_version = i;
}
}
catch(error)
{
}
}
}
return [available_version, required_version];
}
var result = flash_detection(7, 7);
if(!result[0])
{
//alert("kein flash plugin installiert");
location.href = "check_flash2.aspx?flash=nein";
}
else if(result[0] < result[1])
{
//alert("installierte version zu niedrig");
location.href = "check_flash2.aspx?flash=nein";
}
else
{
//alert("alles ok, benötigte flash version ist vorhanden");
location.href = "check_flash2.aspx?flash=ja";
}
//-->
</script>
Danach wird die Seite check_flash2.aspx aufgerufen, hier wird die Session-Variable auf treu oder auf false gesetzt.
<
script runat="server">
void Page_Load(object sender, System.EventArgs e) {
// Ergebnis in der Session-Variable festhalten
Session["flash"] = Request.QueryString["flash"];
Response.Redirect (Session["backurl"].ToString());
}
</script>