zurück zur Startseite
  


Zurück XHTMLforum > (X)HTML und CSS > CSS
Seite neu laden Flashfilm in den Hintergrund packen

Antwort
 
LinkBack Themen-Optionen Ansicht
  #11 (permalink)  
Alt 25.09.2008, 21:08
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 02.09.2005
Beiträge: 12
harley_keen befindet sich auf einem aufstrebenden Ast
Standard

Bingo!!!! Einer der Beiträge hat den Durchbruch gebracht, der zweite hat das Sahnehäubchen draufgemacht. Die Flashani liegt im Hintergrund und ist zudem transparent, also ohne störenden Rahmen. Kann beliebig viele Layer drüber legen.

Hier der Code meiner Testdatei. Tauscht einfach die swf, vergesst aber nicht im Object-Tag Höhe und Breite an eure Datei anzupassen! Den Fehler hab gemacht und mich gewundert, dass ich nix mehr gesehn hab, weils zu klein war und unter dem Text-Layer lag.

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>


<style type="text/css">
<!--
body{background-color:#0033FF; text-align:center;}
#all{text-align:left; margin-left:auto; margin-right:auto; width:640px; height:480px; background-color:#FFFF00;}
#flash{position:absolute; z-index:1; margin-top:20px; margin-left:20px;}
#text{position:absolute; z-index:10000; background-color:#00FF99;}
-->
</style>
</head>

<body>

<div id="all">
<div id="flash">
  <script type="text/javascript">
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','140','height','380','src','testdatei','quality','high', 'wmode','transparent','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','testdatei' ); //end AC code
</script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="140" height="380">
    <param name="movie" value="testdatei.swf" />
    <param name="quality" value="high" />
    <param name="wmode" value="transparent" />
    <embed src="testdatei.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="140" height="380"></embed>
  </object></noscript> 
  
  
</div>

<div id="text">tösltjseöltjösdhjösdoljbsörbhjötrh<br />
sdlfkghsdkljgseoörgöslhgöseorigö
söhjsöghseöoghseöilg
sdfghsegseghserioögh</div>

</div>

</body>
</html>
Das JavaScript ist von Dreamweaver erzeugt. Kennt sich jemand aus und kann mir sagen, ob es generell valide ist und bezüglich Barrierefreiheit keine Probleme macht. Die Ani ist im Grunde nicht funktional, so dass es kein Problem ist, wenn jemand JS deaktiviert hat. Zur Not ist die Schmuckgrafik noch als Hintergrundbild drin. Will nur wissen, obs Probleme machen könnte, wenn JS an ist.

Code:
//v1.7
// Flash Player Version Detection
// Detect Client Browser type
// Copyright 2005-2007 Adobe Systems Incorporated.  All rights reserved.
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function ControlVersion()
{
	var version;
	var axo;
	var e;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";

			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");			
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];

        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}

function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '';
  if (isIE && isWin && !isOpera)
  {
    str += '<object ';
    for (var i in objAttrs)
    {
      str += i + '="' + objAttrs[i] + '" ';
    }
    str += '>';
    for (var i in params)
    {
      str += '<param name="' + i + '" value="' + params[i] + '" /> ';
    }
    str += '</object>';
  }
  else
  {
    str += '<embed ';
    for (var i in embedAttrs)
    {
      str += i + '="' + embedAttrs[i] + '" ';
    }
    str += '> </embed>';
  }

  document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
      case "id":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}
Mit Zitat antworten
Sponsored Links
  #12 (permalink)  
Alt 25.09.2008, 22:00
Noo Noo ist offline
Benutzer
neuer user
 
Registriert seit: 12.06.2005
Beiträge: 37
Noo befindet sich auf einem aufstrebenden Ast
Standard

generell empfehle ich Dir zur Einbindung von Flashinhalten inkl. Alternativinhalten das swfobject, einfach mal nach googlen, easy zu handeln und "valide" wenn man bei Javascript von Validität sprechen kann.
Mit Zitat antworten
Sponsored Links
  #13 (permalink)  
Alt 03.10.2008, 18:03
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 02.09.2005
Beiträge: 12
harley_keen befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
generell empfehle ich Dir zur Einbindung von Flashinhalten inkl. Alternativinhalten das swfobject, einfach mal nach googlen, easy zu handeln und "valide" wenn man bei Javascript von Validität sprechen kann.
Also ich habe jetzt nach gut zweistündigem Googlen drei Wege gefunden. Statisches und dynamisches Publishing in der Art und immernoch als Object in der Art.

Nur haut keines von denen mit dem wmode=transparent so richtig hin. Flash liegt wieder auf oberster Ebene und alles andere darunter. Bin damit wieder am Anfang meines Problems.

Kannst du mir sagen, was ich im Header und Body schreiben muss, damit ichs schön valide mit swfobject und wmode=transparent einbinden kann? Hab jetzt auch meine Flash-Bücher rausgekramt, sind nur leider von 2004 und früher, steht nix drin über swfobject.
Mit Zitat antworten
Antwort

Stichwörter
flash, hintergrund

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Frage: Wie Text vor Hintergrund in einem Fenster scrollen? wbiebel CSS 2 19.08.2009 18:49
Hintergrund Yada` CSS 10 21.09.2008 17:03
Div Orientierung Leonidus CSS 22 30.05.2007 17:05
Hintergrund wird im IE abgehackt lekim CSS 0 29.03.2006 14:14
Bild über Flashfilm möglich? Mrdk CSS 4 10.02.2006 11:51


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:48 Uhr.