Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
18.01.2009, 00:35
RikkuZooo



Also ich möchte gerne über einen link eine datei andern

Hier der link-befehl:
<a href=javascript:opengame('.$games_file_set[$games].') onclick=show()>'.$games_title_set[$games].'</a>

Dieser befehl soll dann weiter unten einen parameter anderen in <object>-feld

Hier der code für das Object
<object height="300" type="application/x-shockwave-flash" width="400">
<script>
// Open Game...
function opengame(file) {
document.write("<param name=movie value=games/"+file+">");
}
</script>

<param name="quality" value="best">
</object>

--

AirChina Mobile


Dieser Beitrag wurde am 18.01.2009 um 00:36 von RikkuZooo bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
18.01.2009, 09:44
hausi



1. DOM (document.write fügt eine Zeile am Ende an und du willst sie ja in den Child Nodes des object-Tags haben)
2. Attribute müssen mit "" oder '' markiert werden (auch wenn sie per JavaScript oder PHP ausgegeben werden)
3. JavaScript-Aufrufe müssen strings auch mit "" oder '' markiert haben
4. Überleg dir gut, ob du nicht urlencode und htmlentities benötigst

Dein link sieht dann korrekterweise also so aus:
$link = '<a href="javascript:opengame(\''.urlencode($games_file_set[$games]).'\')" onclick="show()">'.htmlentities($games_title_set[$games]).'</a>";

Und dein Code sieht dann also ungefähr so aus (alles ungetestet):
Quellcode:<object id="foo"...>
// JavaScript:
var obj = document.getElementById('foo');
var params = obj.getElementsByTagName('param');
for (var p in params) {
    if (p.getAttribute('name') == 'movie')
        obj.removeChild(p);
}
p = document.createElement('param');
p.setAttribute('name', 'movie');
p.setAttribute('value', 'games/' + file);
obj.appendChild(p);

--


Dieser Beitrag wurde am 18.01.2009 um 09:47 von hausi bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche