Alle Bonus-Pakete und weitere Profi-Tipps für Ice Age: Die Siedlung (Gast-Artikel)

Lust ganz schnell Bonus-Pakete für das Spiel “Ice Age: Die Siedlung” (iOSGoogle Play) abzustauben? Neue Tipps und Tricks der Profis gefällig? Eine treue Leserin dieses Blogs, simmey71, hilft nicht nur täglich fleißig mit ihren Kommentaren, sie hat nun auch einen ganzen Artikel über weitere Tipps im Spiel verfasst. Ein riesengroßes Dankeschön für deinen unermüdlichen Einsatz! Für jeden weiteren Tipp von Lesern bin ich natürlich ebenso dankbar und füge ihn hier hinzu.

Geheime Produktsammlungen/Tiersammlungen/Pakete erhalten

Bevor wir mit dem Trick loslegen, ein paar allgemeine Informationen:

  • Nach der Freischaltung findest du alle Gegenstände und Tiere in deinem Inventar
  • Je höher dein Level ist beim Freischalten der Pakete, um so größer ist deine erste Gold-Ausschüttung (Ausnahme ist das Postpaket). Das bedeutet, dass du zum Beispiel im Level 6 mindestens die angegebene Summe der Sammlung erhältst, in Level 50 sind es je 50.000 Gold, im Level 60 dann 60.000 Gold.
Produktsammlung Post

Die Produktsammlung Post
Produktsammlung Danimals

Die Produktsammlung Danimals
Produktsammlung McDonalds

Die Produktsammlung McDonalds
Produktsammlung Alpenliebe

Die Produktsammlung Alpenliebe

So funktioniert der Tricks:

Links oben auf den Namen deines Dorfes klicken. Ein Dialog erscheint mit “Gib deinem Dorf einen Namen”. Jetzt einen der folgenden Namen eingeben und du erhältst die angeführte Sammlung!

Die “Post”-Produktsammlung

Gib als Namen POST ein und erhalte den Kolibri (pro Tier 50.000 Gold, ein Ei benötigt 96 Stunden zum brüten, erwirtschaftet als Familie mindestens 7.350 Gold alle 10 Stunden), den Kirschbaum (10.000 Gold, gibt 7% Bonus), das Weizenfeld (10.000 Gold, gibt 7% Bonus), das Grasmammut (10.000 Gold, 7% Bonus) und das Spaßgebäude Basketball (10.000 Gold, erwirtschaftet mindestens 4.000 Gold alle 10 Stunden). Wenn du diese Sammlung fertig stellst, erhältst du als Belohnung 50.000 Gold und 10 Eicheln.

Die “Danimals”-Produktsammlung

Gib als Namen DANIMALS ein und erhalte sofort mindestens 15.000 Gold, den Wombat (pro Tier 50.000 Gold, ein Ei benötigt 24 Stunden zum brüten, erwirtschaftet als Familie mindestens 7.350 Gold alle 10 Stunden) und das Spaßgebäude Reifenwerfen (10.000 Gold, erwirtschaftet mindestens 4.000 Gold alle 10 Stunden). Wenn du diese Sammlung fertig stellst, erhältst du als Belohnung 50.000 Gold und 10 Eicheln.


Die “McDonalds”-Produktsammlung

Gib als Namen McDonalds ein und erhalte sofort mindestens 15.000 Gold, das Lama (50.000 Gold pro Tier, ein Ei benötigt 96 Stunden zum brüten, erwirtschaftet als Familie mindestens 7.350 Gold alle 10 Stunden) und das Dekorationsgebäude Paprika mit Mc-Logo (50.000 Gold, gibt 9% Bonus). Wenn du diese Sammlung fertig stellst, erhältst du als Belohnung 50.000 Gold und 10 Eicheln.

Die “Alpenliebe”-Produktsammlung

Gib als Namen Alpenliebe ein und erhalte sofort mindestens 15.000 Gold, den Panda (pro Tier 50.000 Gold, ein Ei benötigt 96 Stunden zum brüten, erwirtschaftet als Familie mindestens 7.350 Gold alle 10 Stunden) und das Spaßgebäude Lutscher (10.000 Gold/gibt 7% Bonus). Wenn du diese Sammlung fertig stellst, erhältst du als Belohnung 50.000 Gold und 10 Eicheln.

Weitere Namenspakete

Bei der Eingabe der folgenden Dorfnamen erhaltet ihr je mindestens 20.000 Gold (je nach Level) und je eine Schnee-Eiche (Bonus 7%).

  • Bonus
  • Bestbuy
  • Saturn

Diese drei sind ideal am Anfang, um schneller Tiere und Spaßgebäude oder Land für Münzen kaufen zu können.

Weitere Tipps der Profis von simmey71

Baue dein Dorf zusätzlich zu den Tieren auch mit Spaßgebäuden und Dekorationen auf. Manche Spaßgebäude bringen Gold. Andere bieten Bonus, der gut platziert, die umliegenden Tiere und Gebäude zu einer höheren Ausschüttung an Gold bringt.

Versuche, die Ziele zu erledigen und lass etwas Platz für die Schneehaufen, in denen sich täglich außer Gold auch Eicheln oder Silbermünzen befinden können. Lass dein Dorf ruhig mal „offen“ stehen, du wirst sehen, wie schnell sich neue Schneehaufen ansammeln.

Sammle Herzen um die zusätzlichen Dinge (Blumenstatue, Affenbrotbaum, Palme, Affe etc.) in deinem Dorf platzieren zu können. Dazu solltest du über die Freundeskarte mit Gameloft und Facebook verbunden sein.

Ab und an kannst du Eicheln- und Gold-Pakete für echtes Geld erwerben. Das ist nicht notwendig! Über die Dauer des Spiels und die Sonderangebote bei Tieren, Dekoration und Spaßgebäuden kann man es gut schaffen, ohne auszukommen.

Verfolge die Kommentare in diesem Beitrag und im Original-Artikel. Hier helfen sich Spieler gegenseitig und informieren über aktuelle Tricks! Viel Spaß und großen Dank noch einmal an simmey71!

Polarfuchs freischalten bei Ice Age: Die Siedlung (Easter egg)

Polarfuchs

So sieht er aus: Der Polarfuchs

Es gibt wenige mobile Games die auch Monate nach Veröffentlichung noch große Spielermassen anziehen. Handelt es sich dabei noch um ein Spiel zu einem aktuellen Kino-Film, sinkt die Wahrscheinlichkeit auf einen langfristigen Erfolg drastisch. Anders jedoch bei „Ice Age: Die Siedlung“ (iOSGoogle Play): Ein halbes Jahr nach Release tummeln sich noch immer hunderttausende Spieler im Universum von Mani, Sid und co. herum und pflegen und erweitern ihre Dörfer.

Der Erfolg ist verdient: Gameloft liefert durch Updates laufend neue Inhalte und das eine oder andere „Easter egg“ als Extra für die treuen Fans. Dank einiger Kommentare hier auf solife.cc wurde eines davon gelöst: Das Freischalten des Polarfuchses!

Polarfuchs

Geschafft!

Wie schalte ich den Polarfuchs frei

  • Suche Sid und Manny auf der Karte
  • Tippe zuerst Sid 4 mal, danach Manny 3 mal an

Klingt einfach, ist es aber nicht: Immer wieder passiert es, dass man unabsichtlich einen Gegenstand in der Nähe aktiviert, anstatt den Charakter zu wählen. Dann heißt es von vorne beginnen. Irgendwann klappt es dann aber und ihr erhaltet einen Hinweis auf den Gewinn!


Vielen Dank an simmey71 und mogli für das Posten der Lösung! Weitere Tipps und Cheats zu Ice Age: Die Siedlung findet ihr hier und hier.

Shark Dash: Alle 3-Sterne-Anleitungen und Walkthroughs

Shark Dash

Shark Dash von Gameloft

Das Leben von Sharky und seinen Spielzeughaifreunden ist perfekt. Eines Tages jedoch erscheinen fiese chemisch-verseuchte Enten in seiner Heimat und bringen die Welt des Haies ganz schön durcheinander. Mitten in der Badewanne gilt es im Spiel “Shark Dash” von Gameloft, erhältlich für iOS und Android, zu Retten was zu Retten ist. Die Bedienung des Games ist kinderleicht und erinnert an Angry Birds: Einfach die Schwanzflosse des Haies ziehen und im richtigen Winkel wieder los lassen. Was nach viel Spaß klingt hat allerdings einen ernsten Hintergrund.

Für die Herstellung von Produkten aus Heiflossen, wurden bis dato 73 Millionen Haie aus den Ozeanen gefischt. Ein Drittel aller Hai-Arten sind dadurch vom Aussterben bedroht. WildAid, die weltweit führende Organisation zum Thema Haifischschutz und die Spieleschmiede Gameloft wollen auf diesen Misstand hinweisen und veröffentlichten das Spiel “Shark Dash” in der international bekannten Shark Week. Mehr Infos im Trailer zum Spiel.

Wer die ersten Schwimmversuche in “Shark Dash” hinter sich gebracht hat, wird es, durch das fesselnde Konzept, schwer haben sich wieder davon zu lösen. Die derzeit 96 verfügbaren Level können durch das Sammeln von Sternen aktiviert werden. Diese erhält man durch das positive Abschließen der einzelnen Level. Hier gibt es alle Anleitungen und Walkthroughs in Videoform, um jede Aufgabe mit der maximalen Punktzahl abzuschließen. Laut Gameloft wird es mit einem zukünftigen Update weitere Level geben. Dieser Artikel wird deshalb laufend aktualisiert.

Übersicht aller Umgebungen im Spiel:

Weitere Spiele-Tipps auf solife.cc: Kingdoms & Lords, Ice Age: Die Siedlung und Subway Surf

Home / Zuhause

Übung macht den Meister und so startet der Spieler bei “Shark Dash” in der heimischen Badewanne, um erste Erfahrung im Kampf gegen die fiesen Enten zu sammeln.

Bild Home / Zuhause

Home / Zuhause

Japan

Schnell findet sich der Spieler im fernen Japan wieder. Viele Missionen und Trophäen warten darauf eingesammelt zu werden!

Bild Japan

Japan

Hotel

Die entführte Hai-Freundin bringt Sharky schließlich in die dritte Game-Umgebung: Das Hotel.

Bild Hotel

Hotel

Rom / Roman

Die 24 Level im antiken Rom stellen das derzeitige Finale des Spieles dar. Sammle alle Sterne und Trophäen ein!


Bild Rom / Roman

Rom / Roman

Kingdoms & Lords: Alle Tipps und Cheats (Münzen, Kristalle, Level)

Kingdoms & Lords

Kingdoms & Lords

Lust auf ein neues Gratis-Aufbauspiel? Nach dem großen Erfolg von “Ice Age: Die Siedlung” nimmt Gameloft uns mit “Kingdoms & Lords” (iOS, Android) mit in eine Welt voller Könige, Kriege und Kämpfe. Ziel ist es ein Königreich samt Armee aufzubauen, um im Kampf gegen die „dunklen Seite“ bestehen zu können. Wer beim Rekrutieren der Armee, der Vorbereitung auf die Schlacht oder dem Aufbau des Dorfes Probleme hat, der findet hier alle Tipps und Tricks um schnell Erfolge im Spiel zu erzielen. Für alle Ungeduldigen gibt es außerdem einen Cheat zu finden.

Spiel-Übersicht

Zu Beginn ist nicht sofort klar, welche Funktionen sich hinter den vielen Bedienelemente von “Kingdoms & Lords” befinden. Hier eine schnelle Übersicht:

Spiel-Übersicht

Alle Elemente erklärt
  1. Ziele/ Quests: Hinter diesem Icon verstecken sich alle aktuellen Aufgaben des Spielers. Das kann die Anweisung sein ein bestimmtes Gebäude zu bauen, die Armee aufzustocken oder ähnliches. Es dient als Leitfaden für den Spieler: So weiß man immer genau was als Nächstes zu erledigen ist.
  2. Münzen/Coins: Münzen sind die Währung im Spiel um Gebäude und Rekruten zu kaufen. Erhöhen kann man seinen Münzen-Stand unter anderem durch erfolgreiche Kämpfe und das Sammeln bei bestehenden Gebäuden.
  3. Kristalle/Crystals: Was in “Ice Age: Die Siedlung” die Eicheln waren sind hier Kristalle. Sammeln kann man sie im Spiel nur langsam, schneller geht es wenn man sie durch echtes Geld im Spiel kauft. Sie werden benötigt um spezielle Dinge zu kaufen.
  4. Energie/Energy: Jede Aktion des Spielers verringert die Energie. Sollte keine Energie mehr vorhanden sein kann Ingame neue gekauft werden oder der Spieler wartet eine Weile bis diese sich von selbst befüllt.
  5. Level: Durch jedes errichtete Gebäude und jeden Kampf sammelt der Spieler Erfahrungpunkte welche wiederum das Level des Gamers steigern. Je Höher das Level eines Spielers desto mehr Gebäude stehen zum Kauf zur Auswahl.
  6. Dinge/Tools: Ganz rechts befindet sich der wichtigste Bereich des Spieles: Hier findet man den Shop um sein Dorf mit neuen Gebäuden oder Dekoration zu befüllen, andere Dörfer wie auch die Lotterie und die Spiel-Optionen.

Die Lotterie

Erste Gewinne in der Lotterie

Keine Lust auf langes Warten? Die Lotterie hilft den Spielern schnell an gute Gegenstände zu gelangen. Sie unterteilt sich in drei Bereiche:

  • Bronze: Kann einmal am Tag gratis benutzt werden (kleinere Gewinne)
  • Silber: Kostet zwei Kristalle pro Runde und bietet bereits bessere Gegenstände
  • Gold: Wer fünf Kristalle investiert kann um die großen Items mitspielen

Wie funktioniert die Lotterie? Der Spieler erhält eine Einheit, die gegen verschiedene Feinde antritt. Je mehr Runden man durchhält, desto bessere Gewinne warten. Keine Taktik hilft hier – Nur das Glück entscheidet! Immer wenn die Bronze-Lotterie zur Verfügung steht, sollte der Spieler diese nutzen um schnell seine Armee bzw. sein Dorf aufzurüsten!

Das Kampfsystem

Immer wieder muss die eigene Armee gegen die des dunklen Königs antreten. Jeder Kampf ist gleich aufgebaut:

Und los geht’s: Der Kampf beginnt!
  • Positionierung: Zu Beginn sieht der Spieler mit welchen Gegnern er es zu tun hat bzw. wieviel Lebenspunkte diese haben. Alle eigenen verfügbaren Kämpfer können nun der Reihe nach auf das Schlachtfeld gestellt werden. Es gibt zwei Bereiche der Positionierung: Vorder- und Rückseite. Erstere ist für Einheiten gedacht welche über starke Abwehrt-Werte verfügen. In die hintere Reihe sollte man Kämpfer positionieren, welche Stark in der Offensive, jedoch schwächer bei der Verteidigung sind.
  • Erster Angriff: Warum bei der Positionierung die oben beschriebene Reihenfolge wichtig ist, wird gleich klar. Die Gegner beginnen zuerst in der Vorderreihe die eigenen Einheiten anzugreifen. Nun heißt es abwechselnd zu attackieren und den Kampfverlauf zu verfolgen.
  • Wichtige Tipps: Sobald man am Zug ist, sollte ein besonderes Augenmerk auf die dargestellten Pfeile, neben den einzelnen Feinden, geworfen werden. Ein grüner Pfeil steht für eine starke Verwundbarkeit, ein roter für eine starke Abwehr. Reiter richten beispielsweise höheren Schaden an Bodeneinheiten an, als dies Fernkämpfer tun würden. Durch das Pfeil-System ist es jedoch nicht wichtig dies im Kopf zu haben: Das Angreifen der jeweils grünen Gegner reicht aus, um meist erfolgreich das Feld zu verlassen.
  • Kampf gewonnen: Jetzt heißt es Münzen und Schilder einsammeln, um das Dorf gleich darauf weiter aufzubauen.

Andere Dörfer und weitere Tipps

“Kingdoms & Lords” ist, wie auch “Ice Age: Die Siedlung” stark auf die Vernetzung mit anderen Spielern ausgelegt. Unter “Dinge” – “Social” können andere Dörfer betrachtet, Freunde gefunden und Kämpfe gestartet werden. Es wartet dort außerdem eine Auflistung der besten Spieler – die Highscore-List.

Was ist sonst noch zu beachten? Ziel ist es das eigene Dorf immer weiter auszubauen: Dies gelingt gut, wenn man den Ziele/Quests folgt, sich mit Freunden vernetzt, Kämpfe austrägt und einmal täglich sein Glück in der Lotterie versucht.

Cheat: Schneller ans Ziel kommen: Leveln und Münzen sammeln

Schon wieder so spät?

Bei all der Ähnlichkeit die das Spiel mit “Ice Age: Die Siedlung” hat, ist nicht verwunderlich, dass auch der dortige Zeit-Cheat direkt auf “Kingdoms & Lords” anwendbar ist. Jedes Gebäude im Spiel wirft nach einer gewissen Zeit Münzen und Erfahrung ab, bzw. das Ankaufen eines Kämpfers benötigt ebenfalls einige Minuten bis Stunden. Mit diesem Cheat kann die Wartezeit aufgelöst werden.

  • Spiel öffnen
  • Zur Systemuhr wechseln und diese je nach Betriebssystem in die Zukunft stellen (ein paar Stunden)
  • Wieder zum Spiel wechseln und siehe da: Es ist viel Zeit vergangen und somit gibt’s wieder einiges zu tun

So lässt sich in kurzer Zeit ein hohes Level erreichen und sehr schnell Münzen sammeln. Wer diesen Cheat anwendet, muss allerdings damit rechnen, seinen Spielspaß erheblich zu senken. Dann lieber doch ehrlich zum Erfolg kommen oder?

Fazit

“Kingdoms & Lords” lehnt sich sehr stark an bekannte Titel von Gameloft an. Das stört allerdings nicht, da der Kampf-Modus und die Vernetzung inklusive Highsore-Liste mit anderen Spielern, einige neue Herausforderungen bietet. Langweilig wird einem so schnell also nicht. Auf in den Kampf!

HTML5 Iframe-Attribut seamless schon jetzt nutzen (Alle Informationen und Beispiele)

Es gibt sie auf fast jeder Internetseite und trotzdem mag sie kein Webentwickler: Iframes. Früher wurden sie verwendet um ganze Internet-Auftritte umzusetzen (Stichwort: nav.html, content.html), heute Fristen sie ein unscheinbares Dasein als Container-Elemente unzähliger Social-Media- und Werbe-Boxen. Das Arbeiten mit Iframes wird jedoch durch HTML5 bald um einiges angenehmer werden. Welche Vorteile das hat, wie man die Features teilweise schon jetzt nutzen kann und warum Iframes gar nicht so böse sind, erklärte Ben Vinegar vor einiger Zeit in einem Vortrag. Die Slides dazu gibt es hier, die eingedeutschte Zusammenfassung mit Beispielen in diesem Artikel.

Keine Zeit? Hier geht’s direkt zur Demo-Seite inkl. Code.

Sind Iframes wirklich böse? Nein!

seamless-Iframe Attribut schon jetzt nutzen

Das seamless-Attribut und seine Möglichkeiten

Iframes, also quasi Webseiten in Webseiten, sind vom Rest der Seite isoliert, bilden eine sogenannte Sandbox. Das hat Nachteile für Webentwickler: CSS wird nicht in den Frame übernommen, Links innerhalb des Iframes verweisen nicht auf die einbindende Seite und die Größe des Frame-Elements passt sich nicht an den Inhalt darin an. Doch genau dieses Sandbox-Prinzip hat Vorteile: JavaScript-Konflikte werden verhindert und Sicherheit und Datenschutz des Users gewahrt. Services wie Flattr, Google Adsense und viele Andere können und müssen via Iframe in die eigene Seite eingebunden werden.

HTML5 und das seamless-Attribut

Da derzeitige Nachteile nicht zukünftig das Arbeiten mit Iframes verhindern sollen, wurde das HTML5-Attribut seamless hinzugefügt. Ein einfaches Beispiel:

[html]<iframe seamless src="http://www.solife.cc"></iframe>[/html]

CSS-Eigenschaften werden dadurch direkt in den Frame übernommen und die Links öffnen korrekt im übergeordneten Fenster. Außerdem passt sich der Iframe mit dem Attribut der Höhe des Inhalts an und Linien sowie Scrollbalken werden standardmässig nicht angezeigt. Wie bei allen neuen Errungenschaften im Web gibt es Dinge zu beachten und Kompromisse einzugehen:

  • Es wird nur http://, nicht aber file:// unterstützt
  • Kein einziger Stable-Browser verfügt derzeit über Support
  • Nur Google Chrome Canary (Version 22 und höher) unterstüzt derzeit das Attribut
  • Die Implementierung der anderen Browser kann als oberflächlich bezeichnet werden

Schon jetzt die neuen Vorteile nutzen

Um schon jetzt die Vorteile des seamless-Attributes zu Nutzen bedarf es einiger Tricks. Zu aller erst muss sowohl auf der Hauptseite, als auch im Iframe selbst, JavaScript-Code eingefügt werden. Damit beide Bereiche kommunizieren können, wird die window.postMessage-Methode genutzt. Die Optik der “nahtlosen” Darstellung kann mit etwas CSS nachgebaut werden.

Einrichten von postMessage und CSS

Code der Hauptseite:

[js]<iframe seamless id="myFrame" src="iframe.html"></iframe>

<script>
var iframe = document.getElementById("myFrame");
// Erste Test-Nachricht an den Iframe
iframe.onload = function() {
iframe.contentWindow.postMessage(‚Hallo Iframe!‘, "*" );
};
</script>[/js]

Da die Nachricht erst gesendet werden soll, wenn der Iframe schon geladen ist, verwende ich den onload-Event-Handler.

JavaScript-Code für den Iframe:

[js] // Wird aufgerufen bei einer neuen Nachricht
function listener(e){
alert(e.data);
}

// Listener für alle Browser
if (window.addEventListener){
window.addEventListener("message", listener, false);
} else {
window.attachEvent("onmessage", listener);
}
[/js]
Wir haben nun die erste Test-Nachricht via Hauptseite an den Iframe gesendet. Die Vorteile von postMessage können wir nun nutzen, um unterschiedliche Werte an den Frame zu übermitteln und das seamless-Attribut teilweise zu simulieren.

CSS für die Hauptseite (Nahtloser Iframe-Effekt):

[css]iframe[seamless]{
background-color: transparent;
border: 0 none transparent;
padding: 0;
overflow: hidden;
}[/css]

Um Links innerhalb des Iframes korrekt zu öffnen, könnte man bei jedem Link das Attribut target="_parent" hinzufügen. Das ist allerdings Wartungsintensiv und überladet das Markup. Dank des <base>-Tags und etwas Java-Script kann dies automatisiert werden.

Im <head>-Bereich des Iframes einfügen:

[html]<base href="http://www.solife.cc/" target="_parent">[/html]

Die angegebene URL des href-Attributes ist nicht zwingend notwendig, da sie mittels Javascript gleich mit der dynamischen Seiten-URL getauscht wird.

Im JavaScript (onLoad-Bereich) der Hauptseite einfügen:

[js] // Schicke aktuelle URL an Iframe
iframe.contentWindow.postMessage([‚referrer‘, window.location.href], ‚*‘);
[/js]

Javascript des Iframes empfängt Nachricht und ändert Base-URL:

[js] // Neue Listener-Funktion
function listener(e){

var eventName = e.data[0],
data = e.data[1];

switch (eventName) {
case ‚referrer‘: setNewBase(data); break;
}

}

// Aktualisiere Base-URL
function setNewBase(url) {
document.getElementsByTagName(‚base‘)[0].href = url;
}
[/js]

Styles in den Iframe übernehmen

Es ist keine perfekte Lösung, aber es können beliebige Style-Eigenschaften wie Schriftart, Schriftgröße und Schriftfarbe via Nachricht dem Iframe übergeben werden. In diesem Beispiel wird dies Mithilfe von jQuery gelöst:

[js] iframe.onload = function() {

….
// Style-Eigenschaften an Iframe senden
iframe.contentWindow.postMessage([’styles‘, getIframeStyles(iframe)], ‚*‘);

};

// Styles auslesen (Dazu wird ein leeres span-Element erstellt)
function getIframeStyles(iframe) {

var $span = $(‚<span>‘).appendTo(iframe.parentNode);

var styles = {
color: $span.css(‚color‘),
fontFamily: $span.css(‚font-family‘),
fontSize: $span.css(‚font-size‘)
};

$span.remove(); // Cleanup
return styles;

}
[/js]

Natürlich können beliebig viele Styles an den Iframe übergeben werden. Auch ist es möglich ganze CSS-File-URL’s zu versenden, um sie später einzufügen. Wir bleiben bei der einfachen Methode der Werte-Übermittlung.

Beim Iframe selbst nun folgenden Code einfügen:

[js]function listener(e){

….

switch (eventName) {
case ‚referrer‘: setNewBase(data); break;
case ’styles‘: injectStyles(data); break;
}

}

function injectStyles(styles) {
$(document.body).css(styles);
}
[/js]
Wie oben beschrieben gibt es viele Wege die gewünschten Style-Eigenschaften in den Frame zu bekommen. Dem Webworker ist überlassen wie er diesen Prozess umsetzt.

Höhe des Iframes automatisch anpassen

Jeder Coder der bereits einmal ein Gästebuch oder ähnliches via Iframe einbinden musste, kennt das Problem: Welche Höhe definiert man dem Iframe-Element? Gerade bei dynamischen Seiten ist diese Frage schwer zu beantworten – die Lösung ist meist eine Höhe von weit über 1000 Pixel zu wählen. Dank postMessage kann die korrekte Höhe nun direkt übertragen werden.

Da in diesem Schritt die Hauptseite, nicht wie bisher, Nachrichten sendet, sondern auch empfängt, muss ein ähnlicher Code wie im Iframe eingebunden werden.
[js] // Wird aufgerufen bei einer neuen Nachricht
// Auf Hauptseite nur um Höhe anzupassen
function listener(e){

var eventName = e.data[0],
data = e.data[1];

switch (eventName) {
case ’setHeight‘: $(iframe).height(data); break;
}

}

// Listener für alle Browser
if (window.addEventListener){
window.addEventListener("message", listener, false);
} else {
window.attachEvent("onmessage", listener);
}
[/js]

Das JavaScript des Iframes aktualisieren:
[js] // Resize-Funktion zum Ermitteln der Höhe
function resize() {
window.parent.postMessage([’setHeight‘, $(‚html‘).height()], ‚*‘);
}
[/js]
Jetzt muss die resize()-Funktion nur noch aufgerufen werden. Auch hier gibt es mehrere Möglichkeiten der Umsetzung:

  • Die Funktion wird permanent via Interval alle 500 Millisekunden odgl. aufgerufen
  • Die Funktion feuert erst wenn ein bestimmtes Event eingetreten ist
  • Wie Ben Vinegar in seinem Vortrag, mit der Debounce-Methode (Code)

Zur einfacheren Vorstellung verwende ich für dieses Beispiel die Interval-Methode.
[js] // Alle 500 Millisekunden die Höhe des Frames anpassen
window.setInterval(resize, 500);
[/js]
Das Iframe passt sich nun immer der Höhe des Inhalts darin an.

Resume

Mit diesen wenigen Code-Zeilen ist es möglich das Arbeiten mit Iframes erheblich zu verbessern und das seamless-Attribut zumindest teilweise nachzubauen. Die window.postMessage-Methode wird in allen Browser, bis auf Internet Explorer 6 und 7 unterstützt. Bis alle Browser nachgerüstet haben bleibt dieser Workflow eine passable Alternative.

Zur Demo-Seite inkl. Code.