WinFuture-Forum.de: Diverse Seitenelemente funktionieren sporadisch nicht - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 2 Seiten +
  • 1
  • 2

Diverse Seitenelemente funktionieren sporadisch nicht Nach Umstieg auf neues Design Probleme (Navigation) - Javascript?


#1 Mitglied ist offline   DJ*BNY 

  • Gruppe: aktive Mitglieder
  • Beiträge: 351
  • Beigetreten: 10. Januar 09
  • Reputation: 56
  • Geschlecht:Männlich
  • Wohnort:Celle, Niedersachsen
  • Interessen:Windows 8, Xbox Live, Windows Phone, Remixe gestalten, Kochen, Meine Frau und was weiß ich nicht alles^^

geschrieben 27. Januar 2014 - 04:57

Guten Morgen, Leute.

Ich habe gedacht, ich mache speziell für dieses Problem mal ein neues Thema auf.

Und zwar geht es nämlich darum, dass ich meiner Website einen neuen Anstrich verpasse.
Die Startseite und diverse Unterseiten (Support,Magazin,Downloads,etc) haben nun schon ein neues Design spendiert bekommen und damit hat sich eben auch einiges am Code geändert, wobei es im Grunde genommen einfacher geworden ist. Vielleicht liegt das aber auch daran, dass ich langsam ein paar Erfahrungen mit HTML, CSS und Javascript sammele. So habe ich nach etwa einem Jahr nun ein Upgrade von MetroUI CSS 0.2 auf MetroUI CSS 2.0 vorgenommen, welches HIER zu finden ist.

Die Problematik:

Ich habe nun die neueren Dateien von metroui.org.ua heruntergeladen, entsprechende Dateien ersetzt und alte entfernt und dementsprechend auch den ganzen Code umgeschrieben, habe dabei meine Seiten vom .html- ins .php-Format konvertiert und wiederkehrende Elemente einfach in einzelnen Dateien gespeichert (Navi oben, Navi mittig, Social-Bereich und Footer).

Das Problem dabei ist einfach, dass seit der Umstellung hin und wieder diverse Elemente nicht oder nur sporadisch funktionieren, obwohl alles soweit richtig verlinkt ist.

Das heißt, dass zwischendurch das Dropdown-Menü oben in der Navigazionsleiste nicht aufklappt und auch der rotierende Content-Bereich, das so genannte "Carousel" hin und wieder keinerlei Funktion hat und gleichzeitig aber auch, wie man schön auf der Startseite sehen kann die Laufschrift unter der Menüleiste verschwindet.

Meine Frage:

Woran kann das liegen, bzw. was mache ich bloß falsch dabei?

Es ist ja merkwürdig, dass das Menü mal funktioniert und dann auch mal wieder nicht, dasselbe eben auch mit dem "Carousel".

Wenn ich jedoch (egal in welchem Browser) meine Fehlerseite "404.html" öffne und dann entsprechend auf den Button klicke, der zur Startseite führt, funktioniert alles wie gewünscht.

Ich würde mich freuen, wenn mir da jemand behilflich sein könnte, der sich damit auskennt.

Alles andere, was jetzt hier in diesem Beitrag nichts zur Sache tut wie eben Padding-Boxen, die noch angepasst werden müssen oder das Impressum, was ich noch ergänzen muss, mach ich danach.

Als kleine Hilfe hab ich hier mal eine Kurzfassung meiner Startseite angeheftet, damit ihr sehen könnt, wo genau der Wurm drin sein könnte.

Ich würde mich freuen, wenn jemand die Lösung weiß oder zumindest mit mir gemeinsam einen Lösungsweg findet, denn so langsam bin ich ratlos.

Um leichter zur Fehlerseite zu kommen, einfach auf das Warn-Icon oben rechts in der Menüleiste klicken auf meiner Website

Liebe Grüße aus Celle, Niedersachen

djbny

Anbei der gekürzte Code meiner Startseite:
Spoiler


PS: Falls weitere Details oder Codeschnipsel benötigt werden, einfach anfragen oder Nachricht schreiben über eine der Plattformen, die unten in der Signatur verlinkt sind. Vielen Dank im Voraus.

Dieser Beitrag wurde von Urne bearbeitet: 04. Februar 2014 - 11:20
Änderungsgrund: Den realen Namen rausgenommen.

0

Anzeige



#2 Mitglied ist offline   aeris 

  • Gruppe: aktive Mitglieder
  • Beiträge: 129
  • Beigetreten: 06. September 08
  • Reputation: 12
  • Geschlecht:unbekannt

geschrieben 04. Februar 2014 - 08:22

Hast du ein Beispiel wo etwas nicht funktionieren könnte?
Sind die Pfade alle korrekt?
Was sagt denn die Konsole? Irgendwelche Dateien die nicht gefunden werden können?
0

#3 Mitglied ist offline   DJ*BNY 

  • Gruppe: aktive Mitglieder
  • Beiträge: 351
  • Beigetreten: 10. Januar 09
  • Reputation: 56
  • Geschlecht:Männlich
  • Wohnort:Celle, Niedersachsen
  • Interessen:Windows 8, Xbox Live, Windows Phone, Remixe gestalten, Kochen, Meine Frau und was weiß ich nicht alles^^

geschrieben 06. Februar 2014 - 02:02

Hallöchen =)

Also ich hab eben mal geguckt und da hat mir die Konsole sowohl auf der vollständig geladenen, als auch auf der unvollständig geladenen Startseite gezeigt, dass diverse Javascript-Elemente nicht gefunden werden können.

Das merkwürdige daran ist, dass diese Dateien oben im Head entsprechend verlinkt sind, siehe Spoiler (bei Unterseiten steht beim Pfad noch ../ davor).

Spoiler


Jedoch zeigt die Konsole sowohl bei der Startseite, als auch bei der Unterseite an, dass nach ganz anderen Pfaden verlangt wird. Ich habe anhand der Konsole, die ich auf der Startseite geöffnet hatte, mal die entsprechenden Dateien in die verlangten Unterordner kopiert, somit war das Problem auf der Startseite behoben.

Ich habe hier jetzt aber die noch unfertige Unterseite /hub, wo mir die Konsole folgendes ausgibt...

Spoiler


Wie kann das sein und wie kann ich das beheben, ohne für jede Unterseite ein Verzeichnis "js" und "css" mit den entsprechenden Dateien erstellen zu müssen, so wie ich das jetzt mal übergangsweise getan habe?

Würde mich freuen, wenn du mir helfen kannst.

LG Benny
0

#4 Mitglied ist offline   aeris 

  • Gruppe: aktive Mitglieder
  • Beiträge: 129
  • Beigetreten: 06. September 08
  • Reputation: 12
  • Geschlecht:unbekannt

geschrieben 06. Februar 2014 - 09:10

Du kannst den relativen Pfad /css/ benutzen, dann wird immer im Hauptverzeichnis der Domain gesucht.

Wenn ich mir den Quelltext von /hub/ ansehe steht dort zum Beispiel:
<link rel="stylesheet" href="http://css/metro-bootstrap.css">

Benutze stattdessen
<link rel="stylesheet" href="/css/metro-bootstrap.css">



Weiters, wenn du schon PHP benutzt, warum nicht auch für den Header?
Dann ersparst du dir jede Seite einzeln ändern zu müssen.

Eventuell kann man das ganze auch anders dynamisch lösen, ich kenne mich mit PHP zwar nicht aus, aber es gibt doch sicher eine Möglichkeit relativ zum Appilkationspfad Datei URLs zu erstellen.
Was ich so mal auf die schnelle gefunden habe:
How to use relative paths for included files such as .css

Wäre zumindest eine Alternative, falls die Seite mal nicht mehr im Hauptverzeichnis läuft.
0

#5 Mitglied ist offline   Holger_N 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.221
  • Beigetreten: 11. September 10
  • Reputation: 458
  • Geschlecht:Männlich

geschrieben 06. Februar 2014 - 10:09

Ich weiß ja nicht ob ich das immer falsch verstanden habe aber wenn ich direkt vom Hauptverzeichnis aus zu der gewünschten Datei gehe, dann ist es für mich immer ein absoluter Pfad gewesen. Der mit den Punkten davor wäre der relative. Na egal im Grunde könnte das aber schon das Problem sein.

Mal angenommen, du hast zwei Ordner mit Dateien drin und eine index-Datei

Ordner_A/unterseite_1.htm
Ordner_CSS/styledatei.css
index.htm



Von der index.htm aus führt der Pfad

Ordner_CSS/styledatei.css


zur CSS-Datei

von der unterseite_1.htm aus ist es bei dir entsprechend
../Ordner_CSS/styledatei.css


also aus dem Ordner "Ordner_A" erstmal raus und dann zur CSS-Datei.

Soweit so gut, wenn das ganze aber in PHP so gemacht ist:

Ordner_A/unterseite_1.php
Ordner_CSS/styledatei.css
index.php


und die Unterseite "unterseite_1.php" in der index.php includiert wird, dann bleibt die index.php ja die anzeigende Seite, die die Unterseite bei sich einfügt und dann funktioniert

../Ordner_CSS/styledatei.css


natürlich nicht mehr.

(Hab jetzt nur versucht, das Problem verständlich zu erklären)

Dieser Beitrag wurde von Holger_N bearbeitet: 06. Februar 2014 - 10:10

Bauernregel: Regnets mächtig im April, passiert irgendwas, was sich auf April reimt.
0

#6 Mitglied ist offline   DJ*BNY 

  • Gruppe: aktive Mitglieder
  • Beiträge: 351
  • Beigetreten: 10. Januar 09
  • Reputation: 56
  • Geschlecht:Männlich
  • Wohnort:Celle, Niedersachsen
  • Interessen:Windows 8, Xbox Live, Windows Phone, Remixe gestalten, Kochen, Meine Frau und was weiß ich nicht alles^^

geschrieben 06. Februar 2014 - 13:54

Beitrag anzeigenZitat (aeris: 06. Februar 2014 - 09:10)

Du kannst den relativen Pfad /css/ benutzen, dann wird immer im Hauptverzeichnis der Domain gesucht.

Wenn ich mir den Quelltext von /hub/ ansehe steht dort zum Beispiel:
<link rel="stylesheet" href="http://css/metro-bootstrap.css">

Benutze stattdessen
<link rel="stylesheet" href="/css/metro-bootstrap.css">



Weiters, wenn du schon PHP benutzt, warum nicht auch für den Header?
Dann ersparst du dir jede Seite einzeln ändern zu müssen.

Eventuell kann man das ganze auch anders dynamisch lösen, ich kenne mich mit PHP zwar nicht aus, aber es gibt doch sicher eine Möglichkeit relativ zum Appilkationspfad Datei URLs zu erstellen.
Was ich so mal auf die schnelle gefunden habe:
How to use relative paths for included files such as .css

Wäre zumindest eine Alternative, falls die Seite mal nicht mehr im Hauptverzeichnis läuft.



Also ich hatte es vorher so, dass ich bei der Hauptseite, welche im root-Verzeichnis liegt, nur z.B. "header.html" angegeben habe. Auf Unterseiten entsprechend dann "../header.html".

Dadurch war EIGENTLICH alles richtig verlinkt, so dachte ich auch bei den ganzen .css- und .js-Dateien.

Das mit dem "http://" davor hab ich erst letzte Nacht als Notlösung gemacht.

Das mit der header.hrml, navigation.html, social.html und footer.html werde ich dann wohl am besten so lösen.

Ich weiß übrigens nicht, ob das etwas bedeuten kann, aber die Fehlerseite 404.html war auch nicht als PHP, sondern als HTML gespeichert. Das könnte mit der Grund sein, weswegen dann auf einmal alle Seitenelemente wieder funktionierten, wobei ich mir die Gründe hierfür nicht erklären kann.

Sooo, danke erstmal, jetzt schau ich mir die Antwort von Holger_M an ;)

Beitrag anzeigenZitat (Holger_N: 06. Februar 2014 - 10:09)

Ich weiß ja nicht ob ich das immer falsch verstanden habe aber wenn ich direkt vom Hauptverzeichnis aus zu der gewünschten Datei gehe, dann ist es für mich immer ein absoluter Pfad gewesen. Der mit den Punkten davor wäre der relative. Na egal im Grunde könnte das aber schon das Problem sein.

Mal angenommen, du hast zwei Ordner mit Dateien drin und eine index-Datei

Ordner_A/unterseite_1.htm
Ordner_CSS/styledatei.css
index.htm



Von der index.htm aus führt der Pfad

Ordner_CSS/styledatei.css


zur CSS-Datei

von der unterseite_1.htm aus ist es bei dir entsprechend
../Ordner_CSS/styledatei.css


also aus dem Ordner "Ordner_A" erstmal raus und dann zur CSS-Datei.

Soweit so gut, wenn das ganze aber in PHP so gemacht ist:

Ordner_A/unterseite_1.php
Ordner_CSS/styledatei.css
index.php


und die Unterseite "unterseite_1.php" in der index.php includiert wird, dann bleibt die index.php ja die anzeigende Seite, die die Unterseite bei sich einfügt und dann funktioniert

../Ordner_CSS/styledatei.css


natürlich nicht mehr.

(Hab jetzt nur versucht, das Problem verständlich zu erklären)


Danke Holger, das leuchtet mir so jetzt erst einmal ein.

Ich sollte allerdings eben auch dazu sagen, dass die Ordnerstruktur so angelegt ist, dass jede Unterseite eben in einem eigenen Verzeichnis liegt, also quasi so wie im folgenden Beispiel

djbny relaunch test

-default.php (Hauptseite)

+CSS (Ordner mit CSS-Files)

+js (Ordner mit js-Files)

+hub (Ordner)
-default.php (Hub als Unterseite)

-header.html (Menüleiste als eigene Datei im Hauptverzeichnis)
-navigation.html
-social.html


Meine Frage ist jetzt nun, wie verlinke ich von einer Unterseite aus (also z.B. /hub/default.php) richtig auf zum Beispiel "metro-bootstrap.css" im Verzeichnis "CSS"?

Von der Hauptseite aus müsste das ja so gehen, dass ich oben im Head angebe <link rel="stylesheet" href="css/metro-bootstrap.css">.

Wie mache ich das aber bei den Unterseiten richtig, die ja eben auch alle als PHP-Datei gespeichert sind?
0

#7 Mitglied ist offline   Holger_N 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.221
  • Beigetreten: 11. September 10
  • Reputation: 458
  • Geschlecht:Männlich

geschrieben 06. Februar 2014 - 15:37

Wenn deine Unterseite "default.php" im Ordner "hub"

in der Hauptseite "default.php", per include oder require eingebunden wird, dort also irgendwo steht

include('hub/default.php');

dann gilt

<link rel="stylesheet" href="css/metro-bootstrap.css">

auch für die Unterseite.

wenn es ein absoluter Pfad sein soll, dann bräuchtest du entweder die Pfadangabe vom Stammverzeichnis an (sieht man in den Fehlermeldungen) oder du nimmst

<link rel="stylesheet" href="http://www.deine-domein.de/css/metro-bootstrap.css">
Bauernregel: Regnets mächtig im April, passiert irgendwas, was sich auf April reimt.
0

#8 Mitglied ist offline   DJ*BNY 

  • Gruppe: aktive Mitglieder
  • Beiträge: 351
  • Beigetreten: 10. Januar 09
  • Reputation: 56
  • Geschlecht:Männlich
  • Wohnort:Celle, Niedersachsen
  • Interessen:Windows 8, Xbox Live, Windows Phone, Remixe gestalten, Kochen, Meine Frau und was weiß ich nicht alles^^

geschrieben 09. Februar 2014 - 21:30

Beitrag anzeigenZitat (Holger_N: 06. Februar 2014 - 15:37)

Wenn deine Unterseite "default.php" im Ordner "hub"

in der Hauptseite "default.php", per include oder require eingebunden wird, dort also irgendwo steht

include('hub/default.php');

dann gilt

<link rel="stylesheet" href="css/metro-bootstrap.css">

auch für die Unterseite.

wenn es ein absoluter Pfad sein soll, dann bräuchtest du entweder die Pfadangabe vom Stammverzeichnis an (sieht man in den Fehlermeldungen) oder du nimmst

<link rel="stylesheet" href="http://www.deine-domein.de/css/metro-bootstrap.css">


Ich hab das mit dem Einbinden jetzt zwar nicht zu 100% verstanden, aber ich probiere es mal.

Meintest du damit, dass ich die Unterseiten auf der Hauptseite einbinden soll? Oder wie meinst du das?
0

#9 Mitglied ist offline   Holger_N 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.221
  • Beigetreten: 11. September 10
  • Reputation: 458
  • Geschlecht:Männlich

geschrieben 09. Februar 2014 - 23:24

Du mußt nicht aber je nachdem, ob die Unterseiten direkt aufgerufen werden und in Unterordnern liegen oder ob nur die Inhalte auf der Hauptseite eingebunden werden, muß man beachten, wie man dann auf der Unterseite wieder andere Elemente einbindet.
Bauernregel: Regnets mächtig im April, passiert irgendwas, was sich auf April reimt.
1

#10 Mitglied ist offline   DJ*BNY 

  • Gruppe: aktive Mitglieder
  • Beiträge: 351
  • Beigetreten: 10. Januar 09
  • Reputation: 56
  • Geschlecht:Männlich
  • Wohnort:Celle, Niedersachsen
  • Interessen:Windows 8, Xbox Live, Windows Phone, Remixe gestalten, Kochen, Meine Frau und was weiß ich nicht alles^^

geschrieben 10. Februar 2014 - 02:42

Ich habe den Fehler gefunden und behoben "/ordner" statt "../ordner".

Aber allerdings wird mir in der Konsole noch ein Fehler angezeigt:

GET http://djbny.com/dow..._=1391995102414 404 (Not Found) jquery.min.js:5

Und das, obwohl die metro.min.js im Verzeichnis djbny.com/js ist. Verlinkt ists oben im Head als "/js/metro.min.js"

Ebenso die Datei jquery.min.js


Was kann das sein?

Auf jeden Fall funktionieren schonmal alle Seiten richtig und ich habe die unnötigen "js" und "CSS"-Ordner entfernt.

Sieht sowohl aufm Desktop, als auch mobil gut aus
0

#11 Mitglied ist offline   aeris 

  • Gruppe: aktive Mitglieder
  • Beiträge: 129
  • Beigetreten: 06. September 08
  • Reputation: 12
  • Geschlecht:unbekannt

geschrieben 10. Februar 2014 - 09:25

Beitrag anzeigenZitat (DJ*BNY: 10. Februar 2014 - 02:42)

Aber allerdings wird mir in der Konsole noch ein Fehler angezeigt:

GET http://djbny.com/dow..._=1391995102414 404 (Not Found) jquery.min.js:5

Und das, obwohl die metro.min.js im Verzeichnis djbny.com/js ist. Verlinkt ists oben im Head als "/js/metro.min.js"

Ebenso die Datei jquery.min.js



Das wird durch /js/load-metro.js verursacht, welches beim laden das ganze nochmal hinzufügt.

Einen Fehler von jquery.min.js kann ich nicht sehen.
0

#12 Mitglied ist offline   DJ*BNY 

  • Gruppe: aktive Mitglieder
  • Beiträge: 351
  • Beigetreten: 10. Januar 09
  • Reputation: 56
  • Geschlecht:Männlich
  • Wohnort:Celle, Niedersachsen
  • Interessen:Windows 8, Xbox Live, Windows Phone, Remixe gestalten, Kochen, Meine Frau und was weiß ich nicht alles^^

geschrieben 10. Februar 2014 - 14:03

Habe alle Fehler soweit ausgebügelt und "/js/load-metro.js" überall entfernt.

Gleichzeitig hab ich aber auch endlich den "Hub" fertig, zumindest steht die Seite, die Kacheln werde ich demnächst austauschen.

Eingefügtes Bild
Eingefügtes Bild

Eine Frage hätte ich noch, hat jetzt aber nicht direkt was mit der bereits behobenen Problematik zu tun...

Ich wollte in einer Art Statistik meine YouTube-Abonnenten und Facebook-Fans auflisten.
Meint ihr, da gibt es irgendeine Möglichkeit, sowas einzubinden als einfachen Zähler, der eben dynamisch aktualisiert wird, wie eben ein Besucherzähler?

Ansonsten erst einmal vielen lieben Dank, ihr habt mir unwahrscheinlich gut geholfen. Danke =)
0

#13 Mitglied ist offline   Holger_N 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.221
  • Beigetreten: 11. September 10
  • Reputation: 458
  • Geschlecht:Männlich

geschrieben 10. Februar 2014 - 14:36

Beitrag anzeigenZitat (DJ*BNY: 10. Februar 2014 - 14:03)

Eine Frage hätte ich noch, hat jetzt aber nicht direkt was mit der bereits behobenen Problematik zu tun...

Ich wollte in einer Art Statistik meine YouTube-Abonnenten und Facebook-Fans auflisten.
Meint ihr, da gibt es irgendeine Möglichkeit, sowas einzubinden als einfachen Zähler, der eben dynamisch aktualisiert wird, wie eben ein Besucherzähler?



Keine Ahnung, weil ich bei Beiden nicht angemeldet bin aber ich würde als erstes bei den Diensten selbst gucken. Oftmals bieten die ja sowas für die eigene HP an.
Bauernregel: Regnets mächtig im April, passiert irgendwas, was sich auf April reimt.
0

#14 Mitglied ist offline   aeris 

  • Gruppe: aktive Mitglieder
  • Beiträge: 129
  • Beigetreten: 06. September 08
  • Reputation: 12
  • Geschlecht:unbekannt

geschrieben 10. Februar 2014 - 14:49

Facebook und Youtube haben APIs, da kannst du dich mal ein wenig einlesen.

Beispiel mit jQuery
//youtube subscriptions
$.getJSON('https://gdata.youtube.com/feeds/api/users/djbnyreloaded?v=2&alt=json', function(data) {
    var subscribers = data.entry.yt$statistics.subscriberCount;
    alert(subscribers);
});
//facebook likes
$.getJSON("https://graph.facebook.com/djbny.de?callback=?", function(data) { 
    var likes = data.likes
    alert(likes); 
});


0

#15 Mitglied ist offline   DJ*BNY 

  • Gruppe: aktive Mitglieder
  • Beiträge: 351
  • Beigetreten: 10. Januar 09
  • Reputation: 56
  • Geschlecht:Männlich
  • Wohnort:Celle, Niedersachsen
  • Interessen:Windows 8, Xbox Live, Windows Phone, Remixe gestalten, Kochen, Meine Frau und was weiß ich nicht alles^^

geschrieben 10. Februar 2014 - 14:50

Ach super, danke :wink:

Eine Frage hätte ich jetzt nun aber doch noch, wo ich schon gerade einmal dabei bin...

Im Template gibt es ein eigenes Suchfeld. Dieses möchte ich gerne mit der Funktion der Google Custom Search Engine ausstatten, jedoch hatte ich bisher das Problem, dass das nicht so funktionierte, wie ich es gerne gehabt hätte.

So hatte ich auf einmal zwei Suchfelder oder ein viel zu breites Suchfeld oben in der Navigation und die Anpassung war quasi eine Qual.

Der einzufügende Code für das Suchfeld (noch ohne Funktion) lautet:

<div class="input-control text">
<input type="text" />
<button class="btn-search"></button>
</div>

Das müsste jetzt mit der Suchfunktion von Google ausgestattet werden, aber eben so, dass es hinterher noch genauso aussieht.

Hier könnt ihr euch das Suchfeld an sich einmal ansehen, wie es eben aussehen sollte:
http://metroui.org.u...ms.html#_search

Ich würde mich freuen, wenn mir da jemand behilflich sein kann, ich bekomme es nämlich gar nicht hin.

Vielen Dank im Voraus.
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0