javascript inline document.write

  • Hoi mitnand. Ich hab da ein Problem mit der Einbindung eines Menüs. Ich habe den code des menüs in einer externen js datei innerhalb eines document.write befehls. In der html datei steht dann in einem cs positionierten div das <script src=""> tag.. allerdings glaube ich das das write wegen den im code vorhandenen anführungsstrichen nicht funktioniert... <pre> hilft auch nicht viel.. hier ein auszug...

    Code
    document.write("<pre>ul id="primary-nav">
      <li><a href="html/aktuelles.htm" target="content">Aktuelles</a></li>
      <li class="menuparent"><a href="html/faq.htm" target="content">Häufige Fragen</a></li>
      <li class="menuparent"><a href="html/glossar.htm" target="content">Glossar</a></li> 
      <li class="menuparent"><a href="#">ECTS an der FHV</a> 
    ..
    ..
    </pre>");


    im html file sieht die einbindung so aus:

    Code
    <div style="position:absolute; top:100px; left:0px;">
    <script src="js/navigation_print.js" language="javascript"></script>
    </div>


    Normaler Text innerhalb des divs funktioniert mit einem js file, ich glaub eben dass es daran liegt dass da mehrere Zeilen sind und auch mehrere Steuerzeichen (") und so.. Wer weiss da Rat? danke im voraus...

  • so vielleicht?

    Code
    document.write([COLOR=Red]'[/COLOR]<pre>[COLOR=Red]<[/COLOR]ul id="primary-nav">
      <li><a href="html/aktuelles.htm" target="content">Aktuelles</a></li>
      <li class="menuparent"><a href="html/faq.htm" target="content">Häufige Fragen</a></li>
      <li class="menuparent"><a href="html/glossar.htm" target="content">Glossar</a></li> 
      <li class="menuparent"><a href="#">ECTS an der FHV</a>[COLOR=Red]</li>[/COLOR] 
    ..
    ..
    [COLOR=Red]</ul>[/COLOR]</pre>[COLOR=Red]'[/COLOR]);
  • du musst die " im javascript escapen, wenn es zur ausgabe zählt. sonst bringt er alles durcheinander.

    Code
    document.write("<pre>ul id=\"primary-nav\">
      <li><a href=\"html/aktuelles.htm\" target=\"content\">Aktuelles</a></li>
      <li class=\"menuparent\"><a href=\"html/faq.htm\" target=\"content\">Häufige Fragen</a></li>
      <li class=\"menuparent\"><a href=\"html/glossar.htm\" target=\"content\">Glossar</a></li> 
      <li class=\"menuparent\"><a href=\"#\">ECTS an der FHV</a> 
    ..
    ..
    </pre>");

    Otto: Apes don't read philosophy. - Wanda: Yes they do, Otto, they just don't understand
    Beleidigungen sind Argumente jener, die über keine Argumente verfügen.
    «Signanz braucht keine Worte.» | «Signanz gibts nur im Traum.» 

    Das neue MTB-Projekt (PO, Wiki, Mitschriften, Ausarbeitungen, Folien, ...) ist online
    http://mtb-projekt.at

  • ok, wenn ich die " durch einfach ' ersetze sieht auch das highlighting etwas versprechender aus, allerdings steht in der dokumentation dass es doppelte anführungsstriche sein sollten... komischerweise gibts auch bei document.write('TEST'); und document.write("TEST"); im html file absolut keine ausgabe. ich hab extra noch in das div eine probe reingesetzt damit ich weiss wo das zeug stehen sollte..

    Code
    <div style="position:absolute.....>
    HIER SOLLTE DAS JS STEHEN
    <script....></script>
    </div>


    kann doch nicht sein dass das nicht geht..

  • ok jetzt gehts, man darf scheinbar bei document.write (oder allgemein in javascript ??) keinen befehl über mehrere zeilen erstrecken. Jetzt hab ich mehrere document writes untereinander und dann passts.

  • versteh ich nicht.

    das funktioniert bei mir mit allen browsern:

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!