Ergebnis 1 bis 6 von 6
  1. #1
    Nalia ist offline Mitglied
    registriert
    12-09-2013
    Beiträge
    30

    Dokumentsteuerung über aktuellen Dateinamen

    Hallo zusammen,
    ich habe in meinem neuen Projekt die Steuerung bestimmter Sachen über den Dateinamen realisiert. Also etwa so über die document.ready.function:

    Code:
    switch (getCurentFileName()) {
       case 'index.php':
       showNews();
       break;
    
       case 'bilder.php':
       showThumbs();
       break;
    
       ...
    }
    
    
    function getCurentFileName() {
        var pagePathName= window.location.pathname;
        return pagePathName.substring(pagePathName.lastIndexOf("/") + 1);
    }
    Das ganze Paket funktioniert auch soweit, jedoch erst ab 'Seite2', sprich bei allen anderen Seiten und auch der index.php, sofern ich sie zum zweiten Mal aufrufe.
    Nicht jedoch, wenn ich das Projekt starte und die index.php zum ersten Mal erscheint. Warum funktioniert das nur im weiteren Verlauf und nicht am Anfang. Es ist doch ein ganz normale document.ready-Aufruf wie auf jeder anderen Seite auch. Ich habe schon versucht, eine andere Seite nur mit einer Weiterleitung vorzuschalten, aber auch dann startet der Aufruf beim erstmaligen Aufruf der index.php nicht.

    Weiß jemand Rat?
    LG
    Nalia

  2. #2
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.652

    AW: Dokumentsteuerung über aktuellen Dateinamen

    Wie rufst du denn die index.php beim ersten Mal auf? Steht da wirklich ".../index.php" in der Adresszeile? Was bekommst du denn von getCurentFileName() in diesem Fall?

    PS: current schreibt man mit zwei "r"s.

  3. #3
    Nalia ist offline Mitglied
    registriert
    12-09-2013
    Beiträge
    30

    AW: Dokumentsteuerung über aktuellen Dateinamen

    Ich weiß, dass man current mit zwei 'r' schreibt, diese Funktion habe ich so 1:1 aus dem Internet kopiert und hatte keine Lust, daran herumzudoktoren.
    In der Adresszeile steht nicht index.php, aber da ich keine home/start/index.html habe, wird sie ja automatisch aufgerufen. Die Funktion getCurentFileName() gibt bei diesem ersten Aufruf auch nichts zurück.

  4. #4
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.652

    AW: Dokumentsteuerung über aktuellen Dateinamen

    Genau das ist dann das Problem. Woher soll denn der Browser wissen, dass die Datei dann index.php und nicht z.B. index.html heißt.

    An deiner Stelle würde ich dann einfach deinen Switch entsprechend erweitern:
    Code:
    switch (getCurentFileName()) {
       case '':
       case 'index.php':
       showNews();
       break;
    
       case 'bilder.php':
       showThumbs();
       break;
    
       ...
    }

  5. #5
    Nalia ist offline Mitglied
    registriert
    12-09-2013
    Beiträge
    30

    AW: Dokumentsteuerung über aktuellen Dateinamen

    Aber ich war der Meinung, dass das mit der Fn getCurentFileName() herausgefunden wird. Die wird ja aufgerufen, wenn das Dokument geladen wurde. Dann sollte ja auch feststehen, wie der Dateiname lautet.
    But nevertheless, deine Vorschlag funktioniert. Ich wusste gar nicht, dass diese Schreibweise auch erlaubt ist, daher danke für deine Mühen (auch wenn ich gerne gewußt hätte, warum meine Fn nicht beim ersten Aufruf das tut, was sie soll...).

  6. #6
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.652

    AW: Dokumentsteuerung über aktuellen Dateinamen

    Die Funktion wird ja auf dem Browser aufgerufen. Woher soll der wissen, wie die Datei heißt, wenn man es ihm nicht sagt?

    Somit ist eigentlich der Funktionsname nicht besonders gut gewählt. Denn der Browser hat eigentlich keine Ahnung, welche Datei genau auf dem Server ausgeführt/ausgeliefert wird. Der Browser weiß nur, welchen Pfad er vom Server angefragt hat. Der Server kann dann intern etwas ganz anderes machen.

Ähnliche Themen

  1. PHP - Dateinamen ermitteln?
    Von NicM im Forum Serverseitige Programmierung
    Antworten: 1
    Letzter Beitrag: 18-03-2007, 12:24
  2. Dateinamen aus url auslesen?
    Von Creativ im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 18-07-2006, 18:05
  3. Umlaute im Dateinamen
    Von kakalake im Forum Serverseitige Programmierung
    Antworten: 6
    Letzter Beitrag: 26-08-2004, 19:12
  4. Dateinamen anzeigen
    Von Toxictype im Forum Serverseitige Programmierung
    Antworten: 8
    Letzter Beitrag: 24-07-2002, 18:14

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •