Aktuelle Vollversionen und Goodies in Spielemagazinen (01/2010)

Auch diesen Monat gibt es wieder einen kleinen Überblick darüber, welche Gutscheine und welche Spiele-Vollversionen bei diversen Zeitungen dabei sind:

GameStar (02/10)

Vollversionen:

Clients für Online-Spiele:

Gutscheine:

  • Atlantica Online: Items für 11€ (GameStar XL)

Veröffentlichungsdatum der nächsten Ausgabe: 27. Januar

PC Games (01/10)

Vollversionen:

Clients für Online-Spiele:

Veröffentlichungsdatum der nächsten Ausgabe: 27. Januar

PC Action (02/10)

Vollversionen:

Clients für Online-Spiele:

Veröffentlichungsdatum der nächsten Ausgabe: 10. Februar

Computer Bild Spiele

Vollversionen:

Gutscheine:

Veröffentlichungsdatum der nächsten Ausgabe: 3. Februar

(( Das Layout für diesen Artikel werde ich in Zukunft immer nutzen. Der erste Artikel zu dem Thema war ja noch mit relativ viel Text, aber ich denke so ist es übersichtlicher und viel schreiben muss man ja eh nicht zu dem Thema, oder? ))

CodeIgniter, jQuery und die getScript() Funktion

Diese Woche bin ich in der Firma mal wieder über ein Problem (bzw. eine Aufgabe *g*) gestolpert.

Solltet ihr jemals auf die Idee kommen die getScript()-Funktion von jQuery zu nutzen um JavaScript-Code auszuführen den ein CI-Controller zurückliefert werdet ihr sehr wahrscheinlich über das Problem stolpern, dass getScript() an die URL die ihr aufruft ein “?_=xxxx” anhängt. Angenommen Ihr wollt also

http://eure-domain/gib/mir/javascript

aufrufen, dann ruft jQuery in Wirklichkeit z.B.

http://eure-domain/gib/mir/javascript?_=1234567890

auf. Dies macht jQuery um das Caching zu verhindern. Für CI ist das aber tödlich und führt zu einem klassischen “404 – Page not found” Fehler.

Man kann dieses Verhalten leider nicht ohne weiteres umgehen (es sei denn, man aktiviert in CI die Nutzung des Query-Strings wieder was aber ein paar Nachteile hat). Allerdings gibt es einen einfachen Ersatz. Statt getScript() nutzt man einfach die ajax() Funktion von jQuery:

$.ajax({
        type:     "GET",
        url:      "http://eure-domain/gib/mir/javascript",
        dataType: "script",
        cache:    true
});

Wichtig dabei ist das “cache: true” weil man sonst wieder in das gleiche Problem läuft. Um das Caching trotzdem zu verhindern sollte man im Controller auf jeden Fall die No-Cache Header mitsenden und man kann natürlich auch statt

http://eure-domain/gib/mir/javascript

einfach

http://eure-domain/gib/mir/javascript/eine_zufällige_zahl

aufrufen. CI stört sich nicht an dem zusätzlichen Parameter und im Controller kann man ihn einfach ignorieren.

Ich hoffe ich kann damit jemandem nervige Debugging-Zeit ersparen :-)