Autor Thema: Datei Ressourcen in Masken einbinden  (Gelesen 3366 mal)

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Datei Ressourcen in Masken einbinden
« am: 03.11.11 - 11:25:07 »
Hallo ihr,

ich habe folgendes Problem:
unter Ressourcen\Dateien habe ich einige javascript Dateien, die ich im header einer Maske mit
<script src=\"jsfile.js\" type=\"text/javascript\"></script>
einbinden möchte.
Wenn die Maske dann im Browser geöffnet wird, wird das JS aber ganz konsequent ignoriert.
Speichere ich den Quellcode lokal ab und leg das js-file ins gleiche Verzeichnis funktioniert es....  :-:

Kann mir bitte jemand sagen was ich da falsch mache?

lG
-daniel
« Letzte Änderung: 04.11.11 - 09:13:23 von rar »
†090620141300

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Datei Ressourcen in Masken einbinden
« Antwort #1 am: 03.11.11 - 12:48:27 »
Hab grad ein bisschen gespielt. Anscheinend stimmt der Pfad der Ressource wie ich ihn angegeben hab...
Diese Testanordnung habe ich:

In der Maske mit DurchgangsHTML
<h1>Überschrift</h1>

Im HTML-Head der Maske:
"<link rel=\"stylesheet\" type=\"text/css\" href=\"ha1.css\" />
<script type=\"text/javascript\" src=\"ale.js\"></script>"

Ressourcen
ha1.css:
h1{color:blue;}

ale.js:
alert("Meldung");

Mehr ist es nicht.
Ergebnis wenn die Maske im Browser geöffnet wird:
Die Überschrift ist blau, es kommt aber keine Meldung.

Wenn der Quelltext als html-File in ein Verzeichnis mit den beiden Ressourcen gespeichert und anschließend geöffnet wird, ist die Überschrift blau und die meldung poppt auf.

Kann es sein dass Notes durch irgendeine Einstellung JS nicht ausführt? Das ist alles sehr seltsam  ???
†090620141300

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Datei Ressourcen in Masken einbinden
« Antwort #2 am: 03.11.11 - 13:20:20 »
Warum willst Du das denn eigentlich über diesen veralteten Weg machen?
Geh einfach hin im Designer und klicke auf "Create -> Resource", Wähle "JavaScript- Libraries" und dann Deine Library aus.
Diese wird als kleines Symbol eingebunden und dann kannst Du problemlos darauf zugreifen.
Das selbe für css- resourcen....

Und wenn Du trotzdem an Deinem code festhalten willst: Einfach schauen, wie der Pfad zur eingebundenen Resource im Quellcode der durch oben genannten Weg erstellten Website aussieht...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Datei Ressourcen in Masken einbinden
« Antwort #3 am: 03.11.11 - 13:27:10 »
Ich hab bis jetzt sehr selten mit JS-Librarys gearbeitet, deswegen auch der "alte" Weg. Wenns anders besser geht nehm ich natürlich das. Danke für den Hinweis.
Leider werden mir die js-files, die ich unter Ressourcen\Dateien hab nicht bei den Java Script Bibliotheken angezeigt.
Muss ich da für jede Datei eine eingene Scriptbibliothek anlegen und den Code hineinkopieren oder hab ich da was übersehen?
†090620141300

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Datei Ressourcen in Masken einbinden
« Antwort #4 am: 03.11.11 - 14:19:37 »
Ich hoffe, dass man die Ressourcen direkt einbinden kann. Denn wenn ich den Code aus der einen
prototype.js in eine Scriptlibrary kopiere, lässt Notes sie aufgrund irgendwelcher Fehler nicht speichern.
Derweil ist das eine weit verbreitete Librarty (wie ich gelesen hab)...
†090620141300

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Datei Ressourcen in Masken einbinden
« Antwort #5 am: 03.11.11 - 15:46:44 »
Tja, dann musst Du halt die Prototype korrigieren anhand der Fehler, die Dir der Designer ausspuckt... Und wenn das gar nicht klappt, dann musst Du halt doch die File- Resource einbinden. Die URL wäre dann aber sowas wie:

http://Host/Database/FileResourceName?OpenFileResource

In Deinem Fall sollte der relative Pfad dann so aussehen: ale.js?OpenFileResource

HTH
Tode

Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Datei Ressourcen in Masken einbinden
« Antwort #6 am: 03.11.11 - 16:56:26 »
Das bringt mich echt zum verzweifeln....

Wenn vom Designer aus der Maske heraus Vorschau im Web mach, funktioniert es mit
<script src=\"ale.js?OpenFileResource\" type=\"text/javascript\"></script>
aus dem Dokument heraus Vorschau im Notes geht es nicht. Ich muss da echt den kompletten Pfad mit Server angeben.
Mit Pfad geht das einfache alert jetzt mit dem File-Resource. Vielen Dank dafür!

Das kompliziertere leider nicht. Da muss ich noch weiter suchen woran es genau scheitert. Wahrscheinlich werde ich mich da bald wieder melden ;o)

Ans ausbessern der Fehler im prototype.js hab ich auch schon gedacht.....
Ich glaub das bekomm ich nicht hin. Der erste ging halbwegs:
Fehlermeldung: zeile 537test for equality (==) mistyped as assignment (0)?
Oke, da hat das doppelte == bei if (match = source.match(pattern)) { gefehlt.
Danach kam aber Zeile 1 Fehler beim Kompilieren von Java Script
Irgendwo in den 6000 Zeilen ist mindestens ein Fehler.... >:( Durch ewiges ausschneiden, speichern, einfügen, speichern,... bin ich dann auf einen Fehler in dieser wunderschönen Zeile gestoßen:
return (/^[\],:{}\s]*$/).test(str);  :-\  ??? Keine Ahnung wie das zum ausbessern ist...

lg
-daniel



« Letzte Änderung: 03.11.11 - 16:58:05 von rar »
†090620141300

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Datei Ressourcen in Masken einbinden
« Antwort #7 am: 04.11.11 - 01:00:47 »
Dass es aus dem Dokument heraus nicht funktioniert hat damit zu tun, dass der Pfad, den Du aufrufst dann in etwa so aussieht:
Htt*://server/datenbank.nsf/unid-der-ansicht/unid-des-dokuments?open
Der relative pfad geht bis zum letzten / und hängt dann das ale.js an, was natürlich schief geht, die url sieht ja dann so aus:
Htt*://server/datenbank.nsf/unid-der-ansicht/ale.js
Und das ist ja falsch...

Probiers mal mot /ale.js, eventuell hilft das.
Ansonsten verwende @webdbname in deiner formel, um einen kompletten pfad zu kriegen, also:
"/" + @Webdbname + "/ale.js"

Aber: wenn sich das prototype.js nicht speichern lässt, dann ist ein Wurm drin (vielleicht fehlt noch was anderes) und dann wird es auch im Browser nativ nicht laufen...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Datei Ressourcen in Masken einbinden
« Antwort #8 am: 04.11.11 - 09:10:00 »
HuRar endlich klappts  :D

Vielen Dank für deine Hilfe uns Kopfzerbrechen, Torsten!

Ich habe jetzt im HTMLHead so den kompletten Pfad angegeben.
_url := @GetProfileField("mKonfig";"Url";"DB");
"<script src=\"" + _url + "/prototype.js?OpenFileResource\" type=\"text/javascript\"></script>"
(In _url steht "http://server/pfad/db.nsf")

Wegen dem prototype.js... Ich gehe mal davon aus, dass aus dem js (glücklicherweise) nur Funktionen verwendet, die fehlerfrei sind. Alles läuft mei mir jetzt einwandfrei.

Über das @WebDBName bin ich auch schon gestolpert. Klingt eigentlich ganz gut, aber leider liefert es nur "pfad/db.nsf". Und wenn man im Web dieses hier aufruft
"http://" + @Name([CN];@Subset(@DbName;1)) + "/" + @WebDbName
steht nur
"http:///pfad/db.nsf"
ohne Server drin.
Deswegen hab ich mit der Formel ein Feld in einem Profildokument erstellt und lese es da aus.
Eigenartig, dass man im Web weder über @WebDBName noch über @DBName den Server auslesen kann. Wenigstens funktioniert es mit dem Profildokument-Workaround....

lG und danke nochmal
-daniel
« Letzte Änderung: 04.11.11 - 09:12:53 von rar »
†090620141300

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Datei Ressourcen in Masken einbinden
« Antwort #9 am: 04.11.11 - 19:00:33 »
@subset(@dbname ; 1) liefert im web immer blank, weil die datenbank für den server ja lokal liegt.
Aber eigentlich brauchst du ja gar keinen vollständigen pfad mit http. Hier arbeitet man typischerweise mit relativen pfaden, und die sehen halt dann so aus:
/pfad/db.nsf/resource.js?openfileresource
Und den kannst du mittels @webdbname problemlos generieren...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz