Internet Explorer stellt kein Flash dar

MajPay

New member
Ich bin ratlos. Vor ein paar Monaten ging es noch, plötzlich ist die Stelle, wo das Flash platziert ist leer.

der Source-Code:
HTML:
      <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="680px" height="100px" id="portal_header">
       <param name="allowScriptAccess" value="sameDomain" />
       <param name="movie" value="img/portal_header.swf" />
       <param name="loop" value="true" />
       <param name="quality" value="high" />
       <param name="bgcolor" value="#ffffff" />
       <embed src="fileadmin/Templates/img/portal_header.swf" loop="true" quality="high" bgcolor="#ffffff" width="680" height="100" name="portal_header" align="middle" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
      </object>

Kennt das jemand?
 
edit: @Albu: Stimmt, da habe ich gepatzt, aber vorher ging es ja trotzdem...

So, ich habe die "Lösung gefunden".

Zuerst der Grund:
Microsoft wurde verklagt, weil sie mit der Objekteinbindung in den Quelltext (KA wie das genau war) ein Patent verletzt haben. Dann haben sie ein Update veröffentlicht, welches diverse Probleme von solchen Objecten verursachte.

Lösung:
Erst, wenn man das Flash nachträglich von einer externen JS Datei einbinden lässt wird es wieder angezeigt und geladen ohne zicken. Die einzigen, die davon profitiert haben waren diese Patent-Schmarotzer

Man muss die besagte JS Datei als externes Script einbinden, etwa so:
HTML:
  <script type="text/javascript" src="swfobject.js"></script>

Dann einen Div Container platzieren, in den dann das Flash geladen wird, etwa so:
HTML:
<div id="flashcontent"> 
Dieser Text wird durch den Flashinhalt ersetzt. 
</div>

Und schließlich die Funktion aufrufen:
HTML:
<script type="text/javascript"> 
var so = new SWFObject("movie.swf", mymovie", "200", "100", "7", "#000000"); 
so.write("flashcontent"); 
</script>

Zuguterletzt noch die JS Datei:
PHP:
/**
 * SWFObject v1.5.1: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 */
if(typeof deconcept == "undefined") var deconcept = {};
if(typeof deconcept.util == "undefined") deconcept.util = {};
if(typeof deconcept.SWFObjectUtil == "undefined") deconcept.SWFObjectUtil = {};
deconcept.SWFObject = function(swf, id, w, h, ver, c, quality, xiRedirectUrl, redirectUrl, detectKey) {
	if (!document.getElementById) { return; }
	this.DETECT_KEY = detectKey ? detectKey : 'detectflash';
	this.skipDetect = deconcept.util.getRequestParameter(this.DETECT_KEY);
	this.params = {};
	this.variables = {};
	this.attributes = [];
	if(swf) { this.setAttribute('swf', swf); }
	if(id) { this.setAttribute('id', id); }
	if(w) { this.setAttribute('width', w); }
	if(h) { this.setAttribute('height', h); }
	if(ver) { this.setAttribute('version', new deconcept.PlayerVersion(ver.toString().split("."))); }
	this.installedVer = deconcept.SWFObjectUtil.getPlayerVersion();
	if (!window.opera && document.all && this.installedVer.major > 7) {
		// only add the onunload cleanup if the Flash Player version supports External Interface and we are in IE
		// fixes bug in some fp9 versions see http://blog.deconcept.com/2006/07/28/swfobject-143-released/
		if (!deconcept.unloadSet) {
			deconcept.SWFObjectUtil.prepUnload = function() {
				__flash_unloadHandler = function(){};
				__flash_savedUnloadHandler = function(){};
				window.attachEvent("onunload", deconcept.SWFObjectUtil.cleanupSWFs);
			}
			window.attachEvent("onbeforeunload", deconcept.SWFObjectUtil.prepUnload);
			deconcept.unloadSet = true;
		}
	}
	if(c) { this.addParam('bgcolor', c); }
	var q = quality ? quality : 'high';
	this.addParam('quality', q);
	this.setAttribute('useExpressInstall', false);
	this.setAttribute('doExpressInstall', false);
	var xir = (xiRedirectUrl) ? xiRedirectUrl : window.location;
	this.setAttribute('xiRedirectUrl', xir);
	this.setAttribute('redirectUrl', '');
	if(redirectUrl) { this.setAttribute('redirectUrl', redirectUrl); }
}
deconcept.SWFObject.prototype = {
	useExpressInstall: function(path) {
		this.xiSWFPath = !path ? "expressinstall.swf" : path;
		this.setAttribute('useExpressInstall', true);
	},
	setAttribute: function(name, value){
		this.attributes[name] = value;
	},
	getAttribute: function(name){
		return this.attributes[name] || "";
	},
	addParam: function(name, value){
		this.params[name] = value;
	},
	getParams: function(){
		return this.params;
	},
	addVariable: function(name, value){
		this.variables[name] = value;
	},
	getVariable: function(name){
		return this.variables[name] || "";
	},
	getVariables: function(){
		return this.variables;
	},
	getVariablePairs: function(){
		var variablePairs = [];
		var key;
		var variables = this.getVariables();
		for(key in variables){
			variablePairs[variablePairs.length] = key +"="+ variables[key];
		}
		return variablePairs;
	},
	getSWFHTML: function() {
		var swfNode = "";
		if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) { // netscape plugin architecture
			if (this.getAttribute("doExpressInstall")) {
				this.addVariable("MMplayerType", "PlugIn");
				this.setAttribute('swf', this.xiSWFPath);
			}
			swfNode = '<embed type="application/x-shockwave-flash" src="'+ this.getAttribute('swf') +'" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'" style="'+ (this.getAttribute('style') || "") +'"';
			swfNode += ' id="'+ this.getAttribute('id') +'" name="'+ this.getAttribute('id') +'" ';
			var params = this.getParams();
			 for(var key in params){ swfNode += [key] +'="'+ params[key] +'" '; }
			var pairs = this.getVariablePairs().join("&");
			 if (pairs.length > 0){ swfNode += 'flashvars="'+ pairs +'"'; }
			swfNode += '/>';
		} else { // PC IE
			if (this.getAttribute("doExpressInstall")) {
				this.addVariable("MMplayerType", "ActiveX");
				this.setAttribute('swf', this.xiSWFPath);
			}
			swfNode = '<object id="'+ this.getAttribute('id') +'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'" style="'+ (this.getAttribute('style') || "") +'">';
			swfNode += '<param name="movie" value="'+ this.getAttribute('swf') +'" />';
			var params = this.getParams();
			for(var key in params) {
			 swfNode += '<param name="'+ key +'" value="'+ params[key] +'" />';
			}
			var pairs = this.getVariablePairs().join("&");
			if(pairs.length > 0) {swfNode += '<param name="flashvars" value="'+ pairs +'" />';}
			swfNode += "</object>";
		}
		return swfNode;
	},
	write: function(elementId){
		if(this.getAttribute('useExpressInstall')) {
			// check to see if we need to do an express install
			var expressInstallReqVer = new deconcept.PlayerVersion([6,0,65]);
			if (this.installedVer.versionIsValid(expressInstallReqVer) && !this.installedVer.versionIsValid(this.getAttribute('version'))) {
				this.setAttribute('doExpressInstall', true);
				this.addVariable("MMredirectURL", escape(this.getAttribute('xiRedirectUrl')));
				document.title = document.title.slice(0, 47) + " - Flash Player Installation";
				this.addVariable("MMdoctitle", document.title);
			}
		}
		if(this.skipDetect || this.getAttribute('doExpressInstall') || this.installedVer.versionIsValid(this.getAttribute('version'))){
			var n = (typeof elementId == 'string') ? document.getElementById(elementId) : elementId;
			n.innerHTML = this.getSWFHTML();
			return true;
		}else{
			if(this.getAttribute('redirectUrl') != "") {
				document.location.replace(this.getAttribute('redirectUrl'));
			}
		}
		return false;
	}
}

/* ---- detection functions ---- */
deconcept.SWFObjectUtil.getPlayerVersion = function(){
	var PlayerVersion = new deconcept.PlayerVersion([0,0,0]);
	if(navigator.plugins && navigator.mimeTypes.length){
		var x = navigator.plugins["Shockwave Flash"];
		if(x && x.description) {
			PlayerVersion = new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split("."));
		}
	}else if (navigator.userAgent && navigator.userAgent.indexOf("Windows CE") >= 0){ // if Windows CE
		var axo = 1;
		var counter = 3;
		while(axo) {
			try {
				counter++;
				axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+ counter);
//				document.write("player v: "+ counter);
				PlayerVersion = new deconcept.PlayerVersion([counter,0,0]);
			} catch (e) {
				axo = null;
			}
		}
	} else { // Win IE (non mobile)
		// do minor version lookup in IE, but avoid fp6 crashing issues
		// see http://blog.deconcept.com/2006/01/11/getvariable-setvariable-crash-internet-explorer-flash-6/
		try{
			var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		}catch(e){
			try {
				var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
				PlayerVersion = new deconcept.PlayerVersion([6,0,21]);
				axo.AllowScriptAccess = "always"; // error if player version < 6.0.47 (thanks to Michael Williams @ Adobe for this code)
			} catch(e) {
				if (PlayerVersion.major == 6) {
					return PlayerVersion;
				}
			}
			try {
				axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			} catch(e) {}
		}
		if (axo != null) {
			PlayerVersion = new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));
		}
	}
	return PlayerVersion;
}
deconcept.PlayerVersion = function(arrVersion){
	this.major = arrVersion[0] != null ? parseInt(arrVersion[0]) : 0;
	this.minor = arrVersion[1] != null ? parseInt(arrVersion[1]) : 0;
	this.rev = arrVersion[2] != null ? parseInt(arrVersion[2]) : 0;
}
deconcept.PlayerVersion.prototype.versionIsValid = function(fv){
	if(this.major < fv.major) return false;
	if(this.major > fv.major) return true;
	if(this.minor < fv.minor) return false;
	if(this.minor > fv.minor) return true;
	if(this.rev < fv.rev) return false;
	return true;
}
/* ---- get value of query string param ---- */
deconcept.util = {
	getRequestParameter: function(param) {
		var q = document.location.search || document.location.hash;
		if (param == null) { return q; }
		if(q) {
			var pairs = q.substring(1).split("&");
			for (var i=0; i < pairs.length; i++) {
				if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) {
					return pairs[i].substring((pairs[i].indexOf("=")+1));
				}
			}
		}
		return "";
	}
}
/* fix for video streaming bug */
deconcept.SWFObjectUtil.cleanupSWFs = function() {
	var objects = document.getElementsByTagName("OBJECT");
	for (var i = objects.length - 1; i >= 0; i--) {
		objects[i].style.display = 'none';
		for (var x in objects[i]) {
			if (typeof objects[i][x] == 'function') {
				objects[i][x] = function(){};
			}
		}
	}
}
/* add document.getElementById if needed (mobile IE < 5) */
if (!document.getElementById && document.all) { document.getElementById = function(id) { return document.all[id]; }}

/* add some aliases for ease of use/backwards compatibility */
var getQueryParamValue = deconcept.util.getRequestParameter;
var FlashObject = deconcept.SWFObject; // for legacy support
var SWFObject = deconcept.SWFObject;

Erklärung der Parameter (entnommen von createordie.de):

Code:
    *   swf – Der Pfad zu der swf-Datei und der Name.
    * id – Die ID des OBJECT- oder EMBED-Tags. Das EMBED-Tag braucht diesen Wert auch als Namensattribut für die Verwendung von swliveconnect.
    * width – Die Breite des Flashfilms.
    * height – Die Höhe des Flashfilms.
    * version – Die benötigte Player-Version. Dies kann als string im Format majorVersion.minorVersion.revision angelegt werden. Beispiel: 6.0.65, Oder einfach nur die Angabe der Versionsnummer 6.
    * background color – Dies ist der HEX-Wert der Hintergrundfarbe des Flashfilms.

Optionale Parameter:

    * useExpressInstall – Wenn User zum Upgrade das ExpressInstall-Feature einsetzen sollen, muss dieser Wert auf true gesetzt werden.
    * quality – Die Qualität, mit der der Flashfilm abgespielt werden soll. Wenn kein spezieller Wert gesetzt wird, gilt der Default-Wert high.
    * xiRedirectUrl – Wenn User, die das ExpressInstall-Upgrade durchgeführt haben, zu einer URL umgeleitet werden sollen, kann diese URL hier eingegeben werden.
    * redirectUrl – Wenn User, die nicht die korrekte Plug-in-Version einsetzen, umgeleitet werden sollen, kann diese URL hier angegeben werden.
    * detectKey – Dies ist der Name der URL-Variablen, den das SWFObject-Skript braucht, wenn eine Erkennung umgangen wird. Default ist "detectflash". Beispiel: Um die Flash-Erkennung zu umgehen und einfach nur den Flashfilm auf die Seite zu schreiben, kann man ?detectflash=false zur URL des Dokumentes hinzufügen, welches den Flashfilm enthält.

Mit dem Befehl so.write("flashcontent"); wird dem SWFObject-Skript mitgeteilt, dass es den Flashinhalt auf die Seite schreiben soll (wenn das System des Users die korrekte Version des Plug-ins installiert hat) indem es den Inhalt im entsprechenden HTML-Element ersetzt.
 
Zuletzt bearbeitet:
Es tut mir leid, ich hab nicht so die Ahnung, aber vll. kann mir jemand schnell helfen.

Ich will das ganze in mein Joomla Template einbinden.

ich haben einen div bereicht "header" und wo schreibe ich jetzt was rein?
Das
HTML:
 <script type="text/javascript" src="swfobject.js"></script>
kommt i-wo in den Header?
HTML:
<div id="flashcontent"> 
Dieser Text wird durch den Flashinhalt ersetzt. 
</div>
das ist einfach der div bereich der bei mir für den Header angelegt ist? (also muss ich den nicht neu anlegen?)
Und die Funktion
HTML:
<script type="text/javascript"> 
var so = new SWFObject("movie.swf", mymovie", "200", "100", "7", "#000000"); 
so.write("flashcontent"); 
</script>
kommt jetzt wo rein? In den Div Bereich? *hilfe*

und der Code für die Java Script Datei kommt in eine Datei mit der Endung .js
aber wohin kommt diese Datei? In das selbe Verzeichnis wo auch die Template Datei ist? wäre nett wenn mir jemand diese kleinen Fragen beantworten kann.

PS: we-play-house.de
 
Zuletzt bearbeitet von einem Moderator:
Hallo alle zusammen,

MajPay hat hier ein Problem beschrieben, das anscheinend selbst durch die aktuellste Version von SWFObject noch nicht behoben ist.

Folgender Code:
PHP:
<script type="text/javascript">
   var flashVars = new Array();
   flashVars['variable'] = 'wert';
   swfobject.embedSWF( "../flex/bin-debug/flex.swf", "myContent", "400", "400", "9.0.0","expressInstall.swf", flashVars );
</script>

<div id="myContent"> </div>

Im Firefox 3 klappt alles einwandfrei!

Im Mircosoft Internet Explorer (IE 7) passiert aber folgendes:
1. Aufuf der Website
2. Die Site inkl. SWF wird geladen - SWF ist unsichtbar
3. Klickt man das SWF an, so wird es wieder sichtbar...
 
Hallo!
Ich bin neu im Forum und habe gesehen das hier viele Leute Ahnung haben,ich leider nicht.
Deshalb meine Frage,ich habe mit einem Flash Editor Artikelbeschreibungen für Ebay erstellt.
Im Firefox kann man die auch sehen,daher haben wir auch nicht bemerkt das die Dateien im IE überhaupt nicht laufen.
Könnt Ihr mir helfen das ich die Dateien auch im IE zum laufen bringe?
Über hilfe würde ich mich sehr freuen.

Hier wäre der Quell Text zum einbinden der Datei was kann ich da ändern?

<P align=center>
<OBJECT
codeBase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"
classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 width=730 height=845><PARAM NAME="_cx" VALUE="19711"><PARAM NAME="_cy" VALUE="19843"><PARAM NAME="FlashVars" VALUE=""><PARAM NAME="Movie" VALUE="F?r HP.swf"><PARAM NAME="Src" VALUE="F?r HP.swf"><PARAM NAME="WMode" VALUE="Window"><PARAM NAME="Play" VALUE="-1"><PARAM NAME="Loop" VALUE="-1"><PARAM NAME="Quality" VALUE="High"><PARAM NAME="SAlign" VALUE=""><PARAM NAME="Menu" VALUE="-1"><PARAM NAME="Base" VALUE=""><PARAM NAME="AllowScriptAccess" VALUE=""><PARAM NAME="Scale" VALUE="ShowAll"><PARAM NAME="DeviceFont" VALUE="0"><PARAM NAME="EmbedMovie" VALUE="0"><PARAM NAME="BGColor" VALUE=""><PARAM NAME="SWRemote" VALUE=""><PARAM NAME="MovieData" VALUE=""><PARAM NAME="SeamlessTabbing" VALUE="1"><PARAM NAME="Profile" VALUE="0"><PARAM NAME="ProfileAddress" VALUE=""><PARAM NAME="ProfilePort" VALUE="0"><PARAM NAME="AllowNetworking" VALUE="all"><PARAM NAME="AllowFullScreen" VALUE="true">
<EMBED SRC="http://Test.swf"
WIDTH="730" HEIGHT="845" PLAY="true" LOOP="true" WMODE="opaque" QUALITY="high"
AllowFullScreen="true"TYPE="application/x-shockwave-flash"
PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>
</OBJECT></P>

Mfg.
 
Ich habe ja von Flash nicht so die Ahnung, aber wieso hat das <embed> ein anderes src als das <object>?

PS: gibt es wirklich einen Toplevel-Domain swf?
 
Hallo!
Danke für Deine Antwort.
Ich habe davon überhaupt keine Ahnung,ich habe mir das überall erlesen und zusammengetragen.
Wie wäre es denn richtig?
Mfg.
 
HallO!
Hier wäre ein Beispiel
Mfg.

<P align=center>
<OBJECT
codeBase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"
classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 width=1165 height=1165><PARAM NAME="_cx" VALUE="19711"><PARAM NAME="_cy" VALUE="19843"><PARAM NAME="FlashVars" VALUE=""><PARAM NAME="Movie" VALUE="F?r HP.swf"><PARAM NAME="Src" VALUE="F?r HP.swf"><PARAM NAME="WMode" VALUE="Window"><PARAM NAME="Play" VALUE="-1"><PARAM NAME="Loop" VALUE="-1"><PARAM NAME="Quality" VALUE="High"><PARAM NAME="SAlign" VALUE=""><PARAM NAME="Menu" VALUE="-1"><PARAM NAME="Base" VALUE=""><PARAM NAME="AllowScriptAccess" VALUE=""><PARAM NAME="Scale" VALUE="ShowAll"><PARAM NAME="DeviceFont" VALUE="0"><PARAM NAME="EmbedMovie" VALUE="0"><PARAM NAME="BGColor" VALUE=""><PARAM NAME="SWRemote" VALUE=""><PARAM NAME="MovieData" VALUE=""><PARAM NAME="SeamlessTabbing" VALUE="1"><PARAM NAME="Profile" VALUE="0"><PARAM NAME="ProfileAddress" VALUE=""><PARAM NAME="ProfilePort" VALUE="0"><PARAM NAME="AllowNetworking" VALUE="all"><PARAM NAME="AllowFullScreen" VALUE="true">
<EMBED SRC="http://heiler-tachodesign.de/Bilder/Motorrad/EBAY/Honda/CB500.swf"
WIDTH="1165" HEIGHT="1347" PLAY="true" LOOP="true" WMODE="opaque" QUALITY="high"
AllowFullScreen="true"TYPE="application/x-shockwave-flash"
PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>
</OBJECT></P>
 
Hallo!
dkdenz danke für Deine Antwort.
Ich habe mir das mal runter geladen swfobject_2_2.
Was mache ich damit und für was ist das gut?
Mfg.
 
HallO!
Danke für Deine Antwort.
Ich habe mir das ausführlich und mehrmals durch gelesen,aber ich verstehe nur Bahnhof.
gibt es dafür nicht ein fertiges Script was ich für jeden Artikel einzeln anpassen kann?
Mfg.
 
Hallo
Weil ich dafür einen Editor habe mit dem man Kinderleicht Professionelle Dateien Basteln kann die 100% auf uns zugeschnitten sind und ich auch ohne fremde Hilfe bearbeiten kann.
Ich weiss das Css besser ist,ich habe aber keine Ahnung davon und einen Editor den ich verstehe habe ich auch noch nicht gefunden.
Mfg.
 
Also ich finde ja Flash in solchen Bereichen nicht professionell und außerdem kann deine Beschreibung dann nicht von eBay durchsucht werden...
 
Zurück
Oben