kointa: ?id=x ohne ständiges neuladen der seite möglich ?

Beitrag lesen

Liebe(r) kointa,

so langsam zweifle ich, ob ich begriffen habe, was Du überhaupt _wirklich_ willst. Ich denke, Du willst das so. Der User ruft eine Seite auf, z.B. so: http://www.site.extra.hu/index.php?game=1

Durch den Parameter "game" (besser als "ID") wird das Script veranlasst, die SWF-Datei direkt auf der Seite einzubinden. Das bedeutet, dass ein User mit diesem Parameter in der URL das Spiel in das HTML-Dokument vom Server (nicht von JavaScript!) eingebaut bekommt.

Da Du beim ersten Betreten der Seite aber _kein_ Spiel laden möchtest, wirst Du eben Links auf der Seite anbieten, die die Seite erneut laden lassen, um dabei dann abhängig vom "game"-Parameter eine passende Spiele-SWF in das Dokument (per <object>) zu integrieren.

Nun könnte man das Neuladen der Seite dahingehend vermeiden, indem nur die SWF-Datei per JavaScript "sofort" in die Seite eingebaut wird. Und das tust Du anhand des "game"-Parameters im Verweisziel des Links. Also brauchst Du eine neue JavaScript-Funktion, die nicht den kompletten Pfad zur SWF-Datei braucht, sondern die sich lediglich den Wert dieses "game"-Parameters holt, um dann selbst zu "wissen", wo die SWF-Datei tatsächlich liegt.

Du verlinkst damit _niemals_ _direkt_ auf die SWF-Datei, sondern immer nur auf eine scriptgenerierte Seite, die im Fehlerfalle (Plugin nicht vorhanden oder veraltet) Hinweise gibt, wie das Problem zu lösen ist.

Für eine neue JavaScript-Funktion benötigst Du nun folgendes:

function flash(aElm) {

var baseURL = "/games/"; // Pfad zu den SWF-Dateien
    var games = new Array();
    var gameNum = false;
    var loadGame = '';

// Games nummerieren, dabei Dateinamen ohne ".swf" benutzen
    games[1] = "jingo";
    games[2] = "schach";
    games[3] = "poker";
    games[4] = "roulette";
    games[19] = "maeusemelken";

// angefordertes Game ermitteln
    if (aElm && aElm.href && aElm.href.match(/(?|&)game=\d+/i)) {
        // gültiges Linkziel gefunden
        gameNum = aElm.href.replace(/^.(?|&)game=(\d+)./i, "$2");
    }

if (gameNum && games[gameNum]) {
        // Spiel kann jetzt angefordert werden
        loadGame = baseURL + games[gameNum] + ".swf"; // URL zum Spiel

// <-- hier jetzt die SWF-Datei als <object> einbinden... z.B. mit [link:http://blog.powerflasher.de/swfobject2/@title=SWFObject2]
    }

return false;
}


>   
> Deine Links sehen dazu dann so aus:  
> `<a href="http://www.site.extra.hu/index.php?game=1" onclick="return flash(this)">Jingo jetzt spielen</a>`{:.language-html}  
>   
> Liebe Grüße aus [Ellwangen](http://www.ellwangen.de/),  
>   
> Felix Riesterer.  
  
  
JAAAAA ES GEHT !!!  
Genau das meinte ich !!! Perfekt, ich danke dir vielmals für deine Hilfsbereitschaft und deine Geduld ;). Das hätte ich niemals allein hingekriegt.  
  
Jetzt lädt die Seite nur den Flash Content neu trotz index.php?game=x links.  
  
BIG THX  
  
Grüße