Internet Explorer, MooTools und Elemente

Programmierung 1 Kommentar »

Am Freitag hatte ich noch ein JavaScript-Problem, das ich leider nicht mehr lösen konnte. Das Problem trat im Zusammenspiel der Multibox (einer Lightbox für verschiedene Inhalte auf MooTools-Basis) mit einem per AJAX geladenen Link auf. Multibox erweitert alle Links mit einer bestimmten CSS-Klasse durch ein onClick-Event, das ein Overlay über die Seite legt, in dem der verlinkte Inhalt angezeigt wird. Dies ist eigentlich auch eine ganz smarte Lösung, denn so erhalten Nutzer, die kein JavaScript (aktiviert) haben, den Inhalt als normalen Link. Allerdings wird mein Link zum Inhalt dynamisch per AJAX geladen. Daher hat das Multibox-Skript gar keine Chance, diesen Link onDOMReady zu kennen.

Mein Lösungsansatz war, einfach in der Verarbeitung des AJAX-Ergebnisses per JavaScript ein neues a-Element zu erstellen und in dem ohnehin schon auf der Seite vorhandenen Multibox-Element hinzuzufügen. Der Ansatz funktioniert auch tadellos im Firefox - leider nicht im Internet Explorer (Object doesn’t support this property or method).

Wenigstens wusste ich schon, an welcher Stelle der Fehler lag. Daher konnte ich das Problem (vereinfacht) nachstellen und heute auch aufspüren: Die von MooTools bereitgestellten Methoden setProperty und getProperty funktionieren im Internet Explorer nur bei Elementen, die bereits im ursprünglich an den Browser ausgelieferten HTML vorhanden sind, nicht bei nachträglich hinzugefügten Elementen.

Nehmen wir folgende (einfache) HTML-Seite:

  1. <html>
  2.  <head>
  3.   <title>Test-Script</title>
  4.   <script type="text/javascript" src="js/mootools.v1.1.js"></script>
  5.  </head>
  6.  <body>
  7.   <div id="inDOM" style="border:4px solid #004000; background: #80FF00; width: 600px;">This is just a Test-DIV with the ID <em>inDOM</em></div>
  8.   <a href="#" onclick="doTest();">Test Me</a><br />
  9.  </body>
  10. </html>

Weiterlesen »

Erster Release Candidate vom Internet Explorer 8

Web Keine Kommentare »

Gestern ist er also erschienen, der erste Release Candidate vom neuen Internet Explorer 8 (Meldung bei heise.de, golem.de). Download und Installation gehen recht fix, allerdings mit typischen Windows-Neustart. Der erste kleine Schock dann beim Einrichten:

Screenshot der IE8 "Vorgeschlagenen Sites"

Screenshot der IE8 "Vorgeschlagenen Sites"

Der Browser möchte mich auf Websites hinweisen, die mich auch interessieren könnten - basierend auf meinem Besuchsverlauf. Da muss ich doch glatt sagen - danke, ich verzichte.

Nach der Einrichtung musste ich natürlich gleich ein paar Seiten testen. Garbage-Collector.net sieht so aus, wie es soll:

Screenshot von Garbage-Collector.net im IE8

Screenshot von Garbage-Collector.net im IE8

Auch “meine” anderen Webseiten - die beruflichen - laufen grundsätzlich, trotzdem sind mir schon ein paar kleinere (und hoffentlich schnell und einfach zu fixende) Layout-Bugs aufgefallen.

Einen ersten Blick auf die Entwicklertools (zu finden unter “Extras” oder mit der F12-Taste) habe ich auch geworfen - sehen gut aus. Die Entwicklung wird damit sicherlich ein gutes Stück vereinfacht.