JS Flasherkennung, es wird nichts angezeigt....

Gudy

Erfahrenes Mitglied
Hi, ich habe mir ein paar Sachen zusammen gesucht weil ich nicht vie lAhnugn von JS habe, es geht darum das ich an eienr Stelle der Internetseite, eine abfrage amchen möchte ob Flash installiert ist, wenn es so ist soll eine .swf geladen werden, wenn kein Flash installiert ist einfach nur ein .jpg . Und genau da ist das Problem er macht die Anzeige nicht. also hier "mein" Skript

Code:
<script language=JavaScript>
    function FlashInstalled()
    {
    	result = false;
    
    	if (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"])
    	{
    		result = navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin;
    	}
    	else if (document.all && (navigator.appVersion.indexOf("Mac")==-1))
    	{
 		// IE Windows only -- check for ActiveX control, have to hide code in eval from Netscape (doesn't like try)
 		eval ('try {var xObj = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");if (xObj)	result = true; xObj = null; } catch (e)	{}');
    	}
    	return result;
    }
    if (FlashInstalled()){
    //flash ja
			document.getElementById.src = "swf/jumpin.swf";
	}else{    
	//flash nein
        	document.getElementById.src = "images/fidibus_02.jpg";
    }
    </script>
    <noscript>
		<img src="images/fidibus_02.jpg">
    </noscript>
 
Hi,

abgesehen davon, dass das syntaktisch falsch ist:
Code:
document.getElementById.src = "swf/jumpin.swf"
(getElementById liefert ein Array zurück und Du hast keinen Schlüssel angegeben), kannst Du eine Flashdatei nicht einfach an ein beliebiges Objekt anhängen, sondern Du musst schon die spezifischen Object- und Embed-Tags verwenden.

Auch dann ist es meiner Meinung nach nicht möglich, nachträglich die Quelle (src) einer eingebundenen swf zu ändern (da gab es letztens mal eine ähnliche Frage). Wenn Du die Flasherkennung allerdings vor dem Laden der Seite laufen lässt, könntest Du ja mit dochment.write wahlweise ein Bild (img) oder einen Flashfilm an die entsprechende Stelle schreiben lassen. ;)

Gruß
.
 
Okay viele Informationen für jemanden der fast keine Ahnung von JS hat ;)

Wenn Du die Flasherkennung allerdings vor dem Laden der Seite laufen lässt

soll das heissen, den JS einfach nach ganz oben?


und

könntest Du ja mit dochment.write wahlweise ein Bild (img) oder einen Flashfilm an die entsprechende Stelle schreiben lassen.

versteh ich leider auch nicht, soll das heissen da sich ein platzhalter an der stelle brauch wo es hinsoll und dann kann ich es da anzeigen lassen?
 
Hi,

setz das Script einfach an die Stelle, an der swf/Platzhalter notiert werden sollen und gib die jeweiligen Objekte in Deiner "flash ja" - "flash nein" Bedigung aus.

Pseudocode:
HTML:
<foo>
  <bar>
  <script type="text/javascript">
    // Hier die Erkennung:
    if (jaflasch) {
        document.write('<object>..<embed/></object>');
    } else { // neinflash
        document.write('<img src="platzhalter">');
    }
  </script>
  </bar>
</foo>

Gruß
.
 

Neue Beiträge

Zurück