Autor Thema: Externes JS in den BODY einer Seite  (Gelesen 1753 mal)

Offline nickss

  • Frischling
  • *
  • Beiträge: 3
  • Geschlecht: Männlich
  • Keep The Web FREE !
Externes JS in den BODY einer Seite
« am: 16.07.02 - 15:06:05 »
Wie ich ein JS extern in eine Lotus-HTML-Seite einbinden kann, habe ich schon gelernt:
Neue Seite, Name: z.B. linkmenu.js, Inhalt des JS in diese Seite kopieren und bei den Page-Eigenschaften die Option "Seiteninhalt als HTML behandeln" selektieren. In der Seite "linkmenu.js" in den HTML-Head einbetten:
database := @ReplaceSubstring(@Subset(@DbName; -1);"\\";"/");
"<SCRIPT LANGUAGE=\"JavaScript\" SRC=\"/" + database + "/linkmenu.js\"></script>"
Ich denke soweit alles richtig.

Nun habe ich aber ein anderes Problem, das unter normalem HTML relativ einfach zu realisieren ist.
Ich habe viele Seiten, auf jeder dieser Seiten soll ein kleines Menü an einem bestimmten Platz erscheinen. Damit ich eine Änderung am Menü nicht auf 100, 200 Seiten machen muss, will ich es per JS in die Seite schreiben lassen.
Das Script (linkmenu.js):
<!--

document.write("<TABLE BORDER=1 width='109' cellspacing=0 cellpadding=0 bgcolor='C9C9C9'>");
document.write("<TR><TD align=center><A class='navilinks' href='home.htm'>Home</A></TD></TR>");
document.write("<TR><TD align=center><A class='navilinks' href='home.htm'>Drucken</A></TD></TR>");
document.write("<TR><TD align=center><A class='navilinks' href='home.htm'>Impressum</A></TD></TR>");
document.write("<TR><TD><img src='schatten.gif' width=109 height=6></TD></TR>");
document.write("</TABLE>");

//-->
-----------------------------------------------------------------
Der Quellcode der Seite:
<html><head><title>Testing</title></head>
<body>
<P>Dies ist ein Beispiel für die Einbindung eines externen JS in eine HTML-Seite, das das linke Menü in eine Tabellen-Zelle schreibt.</P>
<TABLE border=1 width=770 cellspacing=0 cellpadding=0><TR>
<TD width=109 valign=top><script language="JavaScript" src="linkmenu.js"></script></TD>
<TD valign=top>INHALTE</TD>
</TR></TABLE>
<P>Hier folgen weitere Inhalte.</P>
</body></html>
----------------------------------------------------------------
Die Frage ist also: Wie kann ich mitten im Durchlaufs-HTML der Lotus-Seite die Ausführung des JS starten? Ein Eintrag im HEAD-Bereich klappt hier nicht.

Ich würde mich sehr freuen, wenn mir jemand helfen könnte.

Offline mb

  • Aktives Mitglied
  • ***
  • Beiträge: 196
  • Geschlecht: Männlich
  • Im Rhythmus bleiben!
Re: Externes JS in den BODY einer Seite
« Antwort #1 am: 16.07.02 - 17:25:12 »
Hallo!

Normalerweise kannst du doch HTML-Passthru durch eckige Klammern kapseln, also den HMTL-Code einfach zwischen [ ]  auf die Seite schreiben. Da das dann von Domino ignoriert wird, sollte da doch mit JS dazwischen auf funktionieren.
Hab es grade ausprobiert.

Rein in die Maske mit:

[<script language="Javascript">
<!--
alert("Hallo");
// -->
</script>]

Klapp! Dann müsste die EInbindung eines externen Scriptes doch wohl auch gehen. Probier mal.

Marc
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline Till_21

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • I love Germany
Re: Externes JS in den BODY einer Seite
« Antwort #2 am: 16.07.02 - 17:25:23 »
Hab mir nicht alles durchgelesen(zu faul), aber ist das was du willst nicht der onload event der maske ?

gruss / till
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline nickss

  • Frischling
  • *
  • Beiträge: 3
  • Geschlecht: Männlich
  • Keep The Web FREE !
Re: Externes JS in den BODY einer Seite
« Antwort #3 am: 17.07.02 - 09:14:11 »
Lieber mb, lieber Till_21,
erstmal vielen Dank für die Zeit, die ihr euch genommen habt.
Bei den meisten Dokumenten der DB handelt es sich NICHT um Masken, sondern um SEITEN, die fast durchgängig mit Durchgangs-HTML gefüllt ist. (Nur wo es um echte DB-Funktionalität geht, gibt es natürlich Masken und eingebettete Ansichten.)
Im HEAD der Seite habe ich das CSS-File referenziert, das wirklich extern im Ordner Domino/Data/html liegt.
Natürlich kann ich in diesem HEAD auch nach der oben beschriebenen Methode das JS referenzieren, doch führt Lotus es dann gleich am Anfang der Seite aus, warum auch nicht.
Ich will jedoch, das es in einer Tabellenzelle mitten auf der Seite ausgeführt wird, und zwar dann, wenn die Seite angezeigt wird.
Wenn es eine andere Methode gibt, das zu erreichen, nehme ich auch die, es muss nicht JS sein!
Anmerkung: Ich würde mich noch immer als Lotus-Neuling bezeichnen. ::)
Danke für euer Verständnis. ;)
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline mb

  • Aktives Mitglied
  • ***
  • Beiträge: 196
  • Geschlecht: Männlich
  • Im Rhythmus bleiben!
Re: Externes JS in den BODY einer Seite
« Antwort #4 am: 17.07.02 - 15:27:55 »
Hallo!

Was ich da für die Maske geschrieben habe, funzt auch in einer Seite. Probiers aus, das klappt! (zumindest mit dem alert in JS - warum dann nicht auch mit anderem JS-Code..?)



> Neue Seite, Name: z.B. linkmenu.js, Inhalt des JS in
> diese Seite kopieren und bei den Page-Eigenschaften
> die Option "Seiteninhalt als HTML behandeln"
> selektieren. In der Seite "linkmenu.js" in den HTML-
> Head einbetten:
> database := @ReplaceSubstring(@Subset
> (@DbName; -1);"\\";"/");
>"<SCRIPT LANGUAGE=\"JavaScript\" SRC=\"/" +
> database + "/linkmenu.js\"></script>"
> Ich denke soweit alles richtig.
Warum speicherst du die Scriptdatei nicht wirklich als *.js  im Dateisystem ab (im HTML-Verzeichnis)? Hab grade erst gemerkt, daß du das ja gar nicht machst. Kannst du natürlich dann nicht replizieren, klar.



Marc

Offline nickss

  • Frischling
  • *
  • Beiträge: 3
  • Geschlecht: Männlich
  • Keep The Web FREE !
Re: Externes JS in den BODY einer Seite
« Antwort #5 am: 18.07.02 - 13:52:44 »
:DHallo mb,
inzwischen klappt die Sache, danke für die Hilfestellung.
CSS- und JS-File sind nun in die Datenbank eingebunden und im HEAD referenziert.
Das dateisystem (html-Ordner) hatte ich vorher schon verwendet, dort lag das CSS-File (sh den vierten Eintrag in diesem post).
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline mb

  • Aktives Mitglied
  • ***
  • Beiträge: 196
  • Geschlecht: Männlich
  • Im Rhythmus bleiben!
Re: Externes JS in den BODY einer Seite
« Antwort #6 am: 19.07.02 - 19:22:44 »
Hi!

Das du das Filesystem für CSS benutzt, habe ich wohl gesehen.
Wie hast du's nun genau gemacht?

Ich will ja nicht doof sterben... ;)

MB  
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz