etuli: &{}; unter IE mit Strings

moin,

einfache frage. Wie heisst die lösung für das problemchen, dass der ie nicht, wie ich will und netscape wunderbar untestützt, meine &{}; angaben "ersetzt".
bsp:
<code>
<script language="JavaScript">
 var string="irgendwas";
</script>
...
<a href="&{string};">ein link</a>
...
</code>
netscape würde jetzt aus dem ganzen "/abs_uri/irgendwas" machen. ie hingegen "/abs_uri/&{string};". und das ist die frage, wie erreich ich, dass ie mich mag. ;)

das ich das ganze per "javascript:location.href=..." machen könnte ist klar und dass es noch zig andere lösungen gibt auch...nur geht es mir einfach um das ersetzen. das beispiel mit dem link ist nur(!) ein bsp. . der hintergrund ist, dass ich nunmal sehr dynamisch "programmiere" und das ganze wie #define's in c nutzen möchte.

etuli

  1. Hallo etuli

    einfache frage. Wie heisst die lösung für das problemchen, dass der ie nicht, wie ich will und netscape wunderbar untestützt, meine &{}; angaben "ersetzt".

    Du meinst entities, die werden jedoch nur vom Netscape 4 unterstützt und auch nur bei eingeschalteten JS.

    <code>
    <script language="JavaScript">
    var string="irgendwas";
    </script>
    ...
    <a href="&{string};">ein link</a>
    ...
    </code>

    Einfache Lösung die funktioniert, am Ende des Dokumentes aufrufen:

    for (i=0;i<document.links.length;i++) {
     document.links[i].href=document.links[i].href.replace("&{string};",string);
     document.links[i].href=document.links[i].href.replace("&%7Bstring%7D;",string);
      }

    Die 2.Zeile ist für Opera, der die Sonderzeichen wandelt. Alternativ einfach &{ } weglassen und z.B. durch ;string; ersetzen.
    Netscape 4 kommt auch mit dieser Schleife zurecht.

    Viele Grüße

    Antje