Einbinden von .swf-Datei in verschiedenen Größen

NeMeSiS1987

Erfahrenes Mitglied
Hallo,
ich möchte abhängig von der Auflösung des Benutzers einen Flash-Film in verschiedenen Größen anzeigen lassen. Hab das mit folgendem Quellcode probiert:

Code:
<head>
</head>
<body>

<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"
WIDTH="

<script type='text/javascript' language='javascript'>

if(screen.width>1200) {
    document.write('650');
}
else {
    document.write('550');
}

</script>

" HEIGHT="150" id="map">
<PARAM NAME=movie VALUE="//zzz.com/Documents/banner/winter.swf">
<PARAM NAME=quality VALUE=high>
<PARAM NAME=bgcolor VALUE=#FFFFFF>
<EMBED src="//zzz.com/Documents/banner/winter.swf" quality=high bgcolor=#FFFFFF WIDTH="

<script type='text/javascript' language='javascript'>

if(screen.width>1200) {
    document.write('650');
}
else {
    document.write('550');
}

</script>

" HEIGHT="150"
NAME="map" TYPE="application/x-shockwave-flash"
PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT>

</body>

So ungefähr soll das aussehen... aber ich weiß nicht was ich da falsch mache.

Danke für eure Hilfe!
 
<script>-Elemente sind zwar so gut wie überall erlaubt, aber innerhalb der HTML-Tags zu Schreiben, das ist nicht vorgesehen :eek:

Du müsstest den kompletten Code für das Objekt mit write() ins Dokument schreiben.
 
Das hatte ich auch schon probiert. So gehts auch nicht:

Code:
<head>
</head>
<body>

<script type='text/javascript' language='javascript'>

if(screen.width>1200) {
    document.write(escape('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"
WIDTH="650" HEIGHT="150" id="map">
<PARAM NAME=movie VALUE="//zzz.com/Documents/banner/winter.swf">
<PARAM NAME=quality VALUE=high>
<PARAM NAME=bgcolor VALUE=#FFFFFF>
<EMBED src="//zzz.com/Documents/banner/winter.swf" quality=high bgcolor=#FFFFFF WIDTH="650" HEIGHT="150"
NAME="test" TYPE="application/x-shockwave-flash"
PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT>'));
}
else {
    document.write(escape('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"
WIDTH="550" HEIGHT="127" id="map">
<PARAM NAME=movie VALUE="//zzz.com/Documents/banner/winter.swf">
<PARAM NAME=quality VALUE=high>
<PARAM NAME=bgcolor VALUE=#FFFFFF>
<EMBED src="//zzz.com/Documents/banner/winter.swf" quality=high bgcolor=#FFFFFF WIDTH="550" HEIGHT="127"
NAME="test" TYPE="application/x-shockwave-flash"
PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT>'));
}

</script>


</body>

Liegt das am escape? Kann man das da überhaupt benutzen? Muss ich die "/" einzeln maskieren? Falls ja, auch noch andere Zeichen?
 
Zuletzt bearbeitet:
Zeilenumbrüche verursachen in write() Syntaxfehler. Des Weiteren ist escape dort überflüssig.

So sollte es hinhauen:
Code:
<script type="text/javascript">
swfx=(screen.width>1200)?[650,150]:[550,127];

document.write('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" '+
               'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"'+
               'WIDTH="'+swfx[0]+'" HEIGHT="'+swfx[1]+'" id="map">'+
               '<PARAM NAME=movie VALUE="//zzz.com/Documents/banner/winter.swf">'+
               '<PARAM NAME=quality VALUE=high>'+
               '<PARAM NAME=bgcolor VALUE=#FFFFFF>'+
               '<EMBED src="//zzz.com/Documents/banner/winter.swf" quality=high bgcolor=#FFFFFF WIDTH="'+swfx[0]+'" HEIGHT="'+swfx[1]+'"'+
               'NAME="test" TYPE="application/x-shockwave-flash"'+
               'PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT>');

</script>
 

Neue Beiträge

Zurück