&{}; unter IE mit Strings
etuli
- javascript
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
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