Pfadangabe in einer HTMLBox

Ich arbeite in der jetzigen Version viel mit eigenen Webseiten die im user Verzeichnis liegen. Ich würde gerne im Rahmen der Umstellung auf IPS 4 den Inhalt von vielen Webseiten einfach direkt in eine HTMLBox packen ohne in der HTMLBox auf die eigentliche Seite im user Verzeichnis zu verlinken.

Wenn ich jetzt in einer HTMLBox z.B. CSS und Javascript verwenden will, was muss ich da beachten bzw. wie müssen da die Pfadangaben aussehen?
Kann ich die CSS und Javascript Daten in irgendein Verzeichnis unterhalb des symcon Verzeichnisses ablegen oder müssen diese zwingend unterhalb von webfront/user Verzeichnisses liegen?

Wenn ich im user Verzeichnis Links einfüge sehen diese ja z:B. so aus

<link href=„css/stylesheet.css“ rel=„stylesheet“ type=„text/css“>
<script type=„text/javascript“ src=„js/jquery.js“></script>

Wie müssen die Pfadangaben innerhalb einer HTMLBox angepasst werden damit das CSS und Javascript aus der HTMLBox heraus gefunden wird?

Hi!

Ich hab hier in dem Projekt auch ein wenig CSS verwendet (Fußball Bundesliga - Tabelle (Daten in Array und HTMLBox)). Kannst es dir den Code ja mal anschauen. Ist nur eine mögliche Variante.

Alternativ kannst du dir jeweils in /webfront/user einen eigenen Unterordner für deine Projekte machen und die Dateien von dort einbinden. Nall chan hat in seinem aktuellen Fritzbox Project .js Dateien aus dem /webfront/user/fritzbox Verzeichnis eingebunden. Diesen Code kannst du dir also auch als Vorlage nehmen.

Grüße,
Chris

Ich überlege gerade bringt es eigentlich irgendeinen Vorteil den HTMLCode direkt in die HTMLBox zu schreiben?
Bisher verlinke ich einfach ins user Verzeichnis z.B.
<iframe src=„user/eigenesverzeichnis/seitenname.php“ border=„0“ frameborder=„0“ style= „width: 100%; height: 100%;“/></iframe>

Kann ich das einfach so lassen oder habe ich irgendeinen Vorteil wenn ich den Code direkt in der HTMLBox habe?

Wenn du eh Zeug im /user/ Ordner hast, würde ich es dort lassen.
Ist weniger Inhalt der über IPS geladen wird, somit ist die Zeit, bis das WebFront da ist kürzer. (Der Rest wird dann nämlich erst später geladen…)

paresy

Den einzigen Vorteil den ich sehe, man kann dynamisch mit einem IPS-Skript den HTML-Code erzeugen und in einer HTMLBox anzeigen. Hast du eine Seite im /webfront/user Verzeichnis, ginge das zwar auch per Skript, aber „umständlicher“.

Wenn du aber an den Dateien nichts ändern willst, oder nur sehr selten, dann kannst du die Dateien dort lassen. Variablen kannst du ja auch so auslesen oder sonstwas machen (JSON-API).

Grüße,
Chris

Meine Seiten sind alle dynamisch und setzten sich aus Variablen aus IPS zusammen die ich über die JSON API hole. Ich vergleiche mal in Ruhe Dein Script mit meiner Seite und schau dann was auf Dauer einfacher ist. Vielen Dank für die Rückmeldung. Wenn ich es aber richtig verstanden habe ist der Weg über den user Ordner wahrscheinlich der bessere für die Performance des Webfronts.

Also wegen der Performance habe ich NULL Probleme im WebFront. Obwohl mein WebFront seeeehr gut gefüllt ist :smiley:

Aber wenn es so bei dir läuft, dann lass es so. Investiere deine Zeit lieber in andere Dinge. IPS bietet ja genug Möglichkeiten Zeit „zu fressen“ :smiley:

Grüße,
Chris

@Fonzo: Wieso holst Du Dir die Daten über die JSON API? Kannst Du mit allen Skripten in den Ordnern normal per GetValue(12345…); zugreifen.
Peter

Oh gut zu wissen, Danke.

Ich habe das jetzt noch mal im direkten Vergleich ausprobiert.

Option 1:

Die Seite liegt komplett im User Verzeichnis und wird über eine HTMLBox angezeigt. Grafik, CSS und Javascript liegen in Unterordnern. Als Inhalt der Variable wird auf die Seite verwiesen mit
<iframe src=„user/neo/covertest.html“ border=„0“ frameborder=„0“ style= „width: 100%; height: 100%;“/></iframe>

Option 2:

Der Inhalt der Seite wird per Script komplett in eine Variable geschrieben. Innerhalb des Codes wird auf Grafik, CSS und Javascript verlinkt. Die Daten liegen unterhalb des webfront Ordners unter user/neo/
Im Code wird z.B. die Grafik verlinkt mit
src=„user/neo/images/piconhd/1_0_1_77D8_40A_1_C00000_0_0_0.png“

Das Ergebnis ist folgendes:

Ansicht Webfront Option 1:

Die Grafik wird korrekt angezeigt, das Javascript wird richtig verarbeitet und die Transformation durchgeführt. Die Grafik wird exakt nach Vorgaben auf der Seite positioniert.

Ansicht Webfront Option 2:
HTMLBox-Code.jpg

Es wird zwar die Grafik angezeigt, diese wird jedoch nicht korrekt dargestellt. Die Grafik sitzt oben am Seitenrand und anscheinend wird der Javascript Code nicht verarbeitet.

Der Code ist wie gesagt beide male identisch nur das einmal im User Verzeichnis das andere mal innerhalb der Stringvariable.

So ganz erklären kann ich mir den Unterschied nicht, für mich bedeutet dies aber das ich zur Zeit bei der Lösung bleibe die Seiten komplett unter dem User Verzeichnis abzulegen. Das hat außerdem den Vorteil das ich die Seiten mit Dreamweaver bearbeiten kann was nicht geht wenn ich den Code nur innerhalb eines Scripts von IPS habe.

Hat ansonsten noch jemand Ideen was den Unterschied ausmachen könnte?

Was immer gut hilft, ist dann die Entwicklertools der Browser zu aktivieren (F12?!).
Dann sieht man sofort ob alles geladen wird oder was mit dem JS oder CSS nicht stimmt.
Michael

Ich schau mal ob ich mit Firebug was finde bleibe aber erst mal bei der Lösung mit dem Userverzeichnis da funktioniert es ja.