Struppi: wenn man in Redmond eines kann, dann ist es PFUSCHEN!!

Beitrag lesen

Warum nicht einfach:

var ersetzung = ....
platzhalter.parentNode.innerHTML = ersetzung;
Die Ersetzung selbst ist ein <object>-Element, der Platzhalter ist ein <div>-Element. Es soll das DIV selbst ersetzt werden. Dazu verwende ich die parentNode des DIVs, um _darin_ das DIV durch das OBJECT zu ersetzen, nicht etwa um den Inhalt des DIVs mit dem OBJECT zu überschreiben.

Versuch's doch erstmal so einfach wie möglich. Im Zweifelsfall kannst du es auch mit outerHTML probieren. Aber auf keinen Fall würde ich innerHTML mit einem regulären Ausdruck bearbeiten.

Ich will ja schon fast lieber nicht mehr wissen, ob im IE7 solch eklatante Patzer in der JavaScript/JScript-Engine behoben wurden...

Ich denke nicht dass das ein Patzer ist. Das Problem ist vermutlich, dass du quasi live innerHTML mit einer regulären Ausdruck tauschen möchtest. Das dürfte intern aber einiges an Schwierigkeiten verursachen. Du musst dir im klaren sein, dass innerHTML nicht einfach ein String ist, sondern wenn du innerHTML einen Wert zuweist, wird der Browser dazu veranlasst diesen String zu parsen und unmittelbar darzustellen. Und dann überleg was ein regulärer Ausdruck machen muss, dass in der Kombination von beiden der Browser sich verschlucken kann, ist zumindest nicht verwunderlich

Struppi.