Beiträge von Arne Drews

    Ich war ja eigentlich raus, aber wenn Du direkt fragst...

    Ich hätte jetzt gerne von DIr und den anderen gewusst, WAS daran falsch wäre?

    So ziemlich alles! Viele Dinge habe ich bereits begründet und werde das nicht wiederholen. Lies die Beiträge und frag gerne nach, falls Du Fragen hast.

    Zunächst mal möchte ich aber kurz etwas sortieren, denn Du springst permanent von einem Kontext in den anderen und vermischst so viele Dinge, dass man gar nicht weiß, wo man anfangen soll.

    Grundsätzlich befinden wir uns in einem HTML/CSS Forum mit zusätzlichen Schwerpunkten PHP und Javascript ( kürze ich folgend mit "Web" ab ).

    All das hat mit Windows oder auch anderen Betriebssystemen erstmal nichts zu tun! Und jetzt bringst Du auch noch E-Mail Spam mit ins Gespräch.

    Die File-Extensions, die in dem Web-Bereich verwendet werden, sind größtenteils standardisiert und machen durchaus Sinn.

    aber man kann den "Motor" von HTML nicht so gestalten, dass er erkennen kann, dass "Kontakt-01.html" in einem Verzeichnis, die Datei ist, die statt index.html geöffnet werden soll.

    Doch, wenn wir uns von reinem Begriff HTML trennen! HTML ist nur eine Auszeichnungs-"Sprache" für Websites ohne Logik.

    Wie man Deine Anforderung löst, habe ich Dir auch schon mitgeteilt.

    Das was ich da vorschlage ist eine "Verbesserung", die die Standardfunktionen verbessert, ohne dass das auch nur den geringsten Nachteil bringen würde: index.html bleibt immer noch die Datei, die standardmässig angezeigt wird, WENN keine xxxxxx.html-1 im Verzeichnis ist.

    Alles steuerbar, wenn man Websites vernünftig aufbaut. In der Form arbeiten auch die meisten dynamischen Websites und auch große Frameworks machen das so. Ich kann Dir gerne mal ein Beispiel zur Verfügung stellen, wenn Dir das hilft.

    weisst Du, dass man Webseiten, mit "Word" (oder gar Notepad), im puren htm - Format "erzeugen" kann?

    Aua! Ja, das weiß ich natürlich, aber der Satz hat Deine Glaubwürdigkeit aus meiner Sicht mehr als abgeschossen!

    Zunächst mal solltest Du dann auch wissen, dass Word im Background ebenso CSS verwendet, wie jede andere Website auch, nur um Längen schlechter, wenn nicht schon grausam.

    Weiterhin vergleichst Du Birnen mit Äpfel, denn Word ist in Deinem Szenario keine HTML Alternative, sondern ein Editor, der für Websites ebenfalls HTML erzeugt, wie jeder andere Editor auch, gepaart mit wie bereits erwähnt grausamen CSS-Definitionen.

    Da wir gerade über Word gesprochen haben, wechseln wir mal zum Desktop-Kontext.

    Es ist in Windows ein Grundprinzip, dass die Dateiendung besagt, für was die Datei verwendet werden muss. Dabei wäre es sogar extrem interessant, wenn die Dateiendung, auch die "Hirarchie" festlegen könnte (wie die CSS "z-index: -1"-Funktion).

    Was Du da vergleichst, hat wieder mal keinen Zusammenhang. z-index ist eine CSS-Eigenschaft! Weder eine Funktion, noch eine File-Extension!

    Und ich kann immer noch keinen Vorteil darin erkennen, eine Suffix-Nummerierung an die Extension zu hängen! Du hast bisher auch keine Vorteile genannt, die nicht schon ohne eine solche Veränderung der Grundlagen möglich wären.

    Von der Computer-Sicherheit aus gesehen, wäre es sogar extrem wichtig, dass es mehrere Stufen von *.exe Dateien gibt: setup.exe-1 könnte dann, schon von der Extension aus gesehen als Programm eingestuft werden, was etwas am Betriebssystem ändern kann (ein setup.exe ... ohne den Zusatz ... was versucht etwas an der Registry zu ändern würde dann schon auf diesem Niveau, als bösartig eingestuft werden).

    Ach komm schon! Was hindert denn zukünftige Viren-Entwickler daran, Ihre Programme dann *.exe-1 zu nennen?!

    Du verlagerst das Problem nur, ohne ersichtlichen Vorteil!

    Zur Zeit ist es möglich, dass Dateimanager, die Option "im Admin Modus starten", "vererben" .... Totalcommander kann das zum Beispiel ... da startet man TC im Admin-Modus und dann ist der Admin-Modus auch dann gültig, wenn man in TC auf irgend ein exe-File klickt. Das ist sehr praktisch, aber da man einer exe Datei nicht ansieht, ob sie nur ein Programm startet, oder das Betriebssystem verändert, ist das ein SIcherheitsrisiko.

    Du sprichst ein Sicherheitsproblem von Windows an, nicht von Extensions. Das eine hat mit dem anderen nichts zu tun.

    Zu guter Letzt:

    ich bin anscheinend der Einzige, der eine Methode entwickelt hat, die dafür sorgen könnte, dass wir endlich die Mails, die wir brauchen, nicht mehr im SPAM suchen müssen.

    ( ohne Worte )


    EDIT:

    Was mich abschliessend noch mal interessiert wäre, wie Du bei all dem Wissen und den Fähigkeiten, die Du vorgibst zu haben, so simple Dinge nicht weißt:

    ch hätte gerne eine Zeile, in der steht wie der Pfad zur Seite aussieht ... also: ../xxxx/kkkkk/diese-Seite Dieser Pfad sollte automatisch ermittelt werden und es sollte so sein, dass man zum Beispiel auf einen Unterordner klicken ... kkkkk .... kann und dass man dann dort landet.

    Gibt es das?

    Entschuldige bitte und nimm das nicht persönlich, aber ich habe schmunzeln müssen beim Lesen des Beitrag. :)

    Auch wenn sich für mein Empfinden vieles widersprüchlich und tlw. mit Halbwissen zusammengereimt liest, gehen wir mal Schwanger mit der Annahme, Deine Selbstdarstellung stimmt. Wenn Du also den von Dir beschriebenen Background hast, wo sind Deine Connection aus der Zeit?

    Ganz ehrlich, abgesehen davon, dass Deine Idee aus meiner Sicht weiterhin sinnfrei ist, ist dieses Forum Deine erste Wahl, Hilfe zu erwarten?

    Geschweige denn, dass Dir die Frage bei Deinem Wissen gar nicht aufkommen dürfte.

    Egal, nur um das nicht um Raum stehen zu lassen: dein Sortiergedanke ist problemlos mit einem Prefix lösbar!

    Um bei Deinem Bildbeispiel zu bleiben:

    Aufgrund der Datumangabe und -format ist eine chronologische Sortierung schon mal gewährleistet, deshalb werden die Datumangaben in der Form angehängt, was Du wissen solltest, denn der NC würde das auch korrekt sortieren.

    Einen Schritt weiter gedacht, ist diese Sortierung natürlich nicht mehr möglich, wenn das Dateibezeichnungsformat nicht eingehalten wird.

    Deine Idee:

    wenn man die aber Paris20180127-01.jpg-001 nennen könnte, dann wüsste man, dass das ein Bild von Paris ist und dass es in der Slideshow das erste Bild ist.

    Wenn Du an der Extension rumfummelst, kannst Du auch genau so gut den Dateinamen ändern und gut ist...

    Aber ok, sielen wir das Spiel mal mit und betrachten die von Dir angegebenen Wünsche ( siehe voriges Zitat )

    • Am Dateinamen soll erkennbar sein, was auf dem Bild zu sehen ist
    • Das Bild soll weiterhin sortierbar sein
    • Die Sortierung soll am Dateinamen erkennbar sein

    Eine einfache Lösung:

    Code
    slide01-paris20180127.jpg
    slide02-amsterdam-gestern.png
    slide03-whatever-foo-bar-blah-blubb.gif

    Nennt sich wie oben erwähnt Prefix und löst alle von Dir angesprochenen Probleme.

    Falls ich eine Sache übersehen habe, findet sich dafür sicher auch eine andere, sinnvolle Möglichkeit, anstatt neue Extensions zu erfinden.

    Aber gut, jeder soll sein Projekt am Ende so fertig stellen, wie er es möchte.

    Ich wünsch Dir viel Erfolg dabei und bin raus.

    Gruß

    Arne

    Du brauchst kein Datetime per JS an den Server senden.

    Die Verzögerung im Clientbereich wickelst Du ganz trivial mit setTimeout() ab.

    Es geht nur darum, dass jeder Client, der die Chat-Seite besucht, einen Request an den Server absetzt.

    Damit ist der Client erstmal durch und alles ist gut. Der Listener auf das Event load läuft im Hintergrund.

    Auf dem Server wird jetzt geprüft, ob Einträge seit dem letzten gesendeten Response dazugekommen sind.

    Dazu benötigt man natürlich einen Timestamp, den Du aber nicht mit JavaScript, sondern in einer Session mit PHP vorhältst und verarbeitest.

    Ich kann später mal ein kleines Beispiel machen, aber im groben mal kurz und knapp ( nur eine Möglichkeit )

    1. [Client] Besucher ruft Chat-Seite auf
    2. [Server] PHP generiert Server seitig ein Session
    3. [Server] Daten werden aus der Datenbank gelesen und ein Timestamp mit Anzahl der Nachrichten in der Session hinterlegt
    4. [Server] Das fertige HTML-Dokument wird an den Client gesendet
    5. [Client] Das HTML-Dokument wird gerendert
    6. [Client] Per JavaScript wird ein setTimeout() gesetzt
    7. [Client] Nach Timeout wird ein Request auf aktualisierte per JavaScript an den Server gesendet
    8. [Server] Anzahl Datensätze ( Nachrichten ) in DB wird mit Anzahl in Session verglichen ( zeitgesteuerter loop )
    9. [Server] Bei unterschiedlicher Anzahl werden alle Nachrichten neu aus DB gelesen und an den Client gesendet
    10. [Client] Verarbeitet den Response und füllt die Chatbox mit allen Nachrichten
    11. Loop Punkt 6 bis 11

    Da die Logik auf allen Clients, die sich auf der Chat-Seite befinden aktiv ist, haben auch alle relativ zeitnah aktuelle Daten.

    Die DB kann nichts senden, basti1012, die ist quasi das Datenmodel, während PHP in dem Fall der Controller ist

    JavaScript arbeitet rein Client seitig. Wenn du klickst, wird der Request von Deinem lokalen Rechner gesendet und der Response an den selbigen zurückgesendet. Andere Rechner im Universum bekommen das so nicht mit.

    Du benötigst ein "Polling". Kurz und knapp erklärt bedeutet das:

    Die Seite wird im Browser aufgebaut und nach einem definierten Zeitraum ( bspw. 10s ) wird ein Request an den Server gesendet. Der Server antwortet aber in dem Fall erst dann, wenn sich etwas ändert. Damit wären nach spätestens 10s bei allen anderen Teilnehmern auch alles aktuell.

    Da die Requests asynchron laufen, gibt es kein vorher oder nachher in dem Sinne.

    Ich denke der Aufruf

    Code
    getMessages();

    gehört in den load-Hanlder der sendMessage()-Funktion:

    Code
    request.addEventListener("load", getMessages );

    Heißt: Wenn er mit dem Senden fertig ist, lädt er alle Nachrichten neu, wo dann auch die aktuellen mit bei sein sollten.

    Ungetestet, nur auf die Schnelle gedacht...

    Kann ich adhoc nicht beantworten, habe so etwas bisher nie gebraucht.

    Was spricht denn gegen einen Layer basierend auf einem DIV. den Content kannst Du mit JavaScript ( Ajax ) laden, das wäre dann Dein Formular.

    Dann kannst Du auch die Inaktivität prüfen und nach 20sek. schliessen.

    Du hast keinen Einfluß auf die zweite Seite oder iwe muss man das verstehen.

    Wenn Du keine Möglichkeit hast diese vom Quelltext oder JS seitig zu verändern, bleibt Dir nur das hässliche Frame/iFrame, würde ich adhoc sagen.

    Alleridngs kannst Du die Inaktivität darüber genauso wenig messen.

    Deshalb suche ich nach einer Methode die den Pfad automatisch ermittelt und wo man dann durch einen Klick auf einen Teil des Pfades im Pfad landet.

    Ein Basis-Beispiel hat Dir basti1012 gepostet und das sind absolute Grundlagen.

    Ich bin einer von den Leuten, die das mit den Pfaden und Ordnern entwickelt haben.

    Wo hast Du das mit entwickelt. Für euch im Unternehmen meinst Du?!

    Die Idee war, dass der "Dateiname" eigentlich der ganze Pfad ist: C.\xxx\Seite1\index.html Oder bei dem Beispiel mit den setup.exe Dateien "heiniProgramm/setup.exe". Das ist aber keine gute Idee, weil dabei der Ordner-Name nicht mit dem Dateinamen verbunden ist.

    Das ist keine neue Idee, sondern für mein Verständnis nur eine Umschreibung, basierend auf Unkenntnis über bereits vorliegende Definitionen:

    Nehmen wir an, um bei Deinem Beispiel zu bleiben, Du hast folgenden absoluten Pfad: C:\Users\Public\Documents\foobar.exe, dann ist folgendes bereits definiert:

    So arbeiten fast alle Programmiersprachen, die ich kenne mit dem Dateisystem, das stellst Du aber mit Deinen Überlegungen in Frage.

    Dass eine Installation fast immer setup.exe heißt, ist eine nicht festgesetzte Konvention, an die sich Millionen Entwickler halten. Und das ist auch gut so, denn es gibt nicht nur Projekte mit einer Executable. Bei deinem Verfahren müsste man in so einem Projekt die Setup-Datei erstmal ausfindig machen.

    Eine Installations-Startdatei pro Projekt kann es nur einmal geben, alles andere macht keinen Sinn. Warum dann also nicht der Einfachheit immer die gleiche Benennung beibehalten? Jeder Entwickler weiß, dass es die setup.exe gibt und weiß, was sie tut. Das ist ein gutes Konzept und mit Sicherheit stecken da keine Deppen o.ä. hinter. Zu welchem Projekt/Programm eine setup.exe gehört findet man immer im Pfad, der sinnvoll benannt sein sollte.

    Ich will Dich keinesfalls persönlich angreifen!

    Ich finde nur, dass Dein Beitrag aus meiner Sicht totaler Schwachsinn ist und Du vielleicht mal überlegen solltest, ob Du nicht grundlegend etwas falsch verstanden hast und deswegen so ein Konzept in Frage stellst.

    Auch das Nummerieren der Extensions ( .html01, .html02, etc. ) macht keinen Sinn.

    Wenn wir mal vom Apache Webserver ausgehen, muss dem bekannt sein, was er mit welcher Extension zu tun hat.

    Bspw. schickt er .php-Dateien per default durch den PHP Interpreter und das Resultat dann zum Browser. Bei .html wird gleich an den Browser gesendet.

    .html01 kennt er aber nicht, was bedeutet, dass Du definieren musst, dass er das genauso behandeln soll, wie normale .html-Dateien.

    Bis zu welcher Nummerierung willst Du das jetzt umsetzen?!

    Vor allem musst Du das, für den Fall, dass Dein Projekt auf unterschiedlichen Rechnern laufen soll, die einen eigenständigen Webserver/Apache laufen haben, dies auf jedem System konfigurieren. Und das ist per Script/Installation fast nicht durchsetzbar, was aufgrund der Sicherheitsfaktoren auch absolut richtig ist.

    Wenn man statt index.html als standardmässig öffnende Datei festlegen würde, dass die Hauptseite (also die Seite index.html) Kontakte.html01 heissen darf und dann wegen dem Zusatz 01 als Hauptseite erkannt und geöffnet wird, dann könnte jede Datei einen Namen haben, der klar anzeigt, was auf der Seite ist.

    Also erstmal kannst Du einem Webserver auch sagen, dass nicht index.html, sondern kontakt.html die Defaultseite sein soll, beim Apache nennt sich das DirectoryIndex und kann bequem über die .htaccess gesteuert werden.

    Das zweite Argument verstehe ich ehrlich gesagt nicht. Eine Nummerierung ist doch absolut nichts sagend:

    Code
    // Deine Variante
    kontakt.html01
    kontakt.html02
    
    // die sinnvolle Variante
    kontakt-adresse.html
    kontakt-anfahrt.html

    Es macht in keiner der beiden Varianten Sinn, eine Kontaktseite als Index zu definieren. Wenn Du dynamische Webentwicklung betreibst, kannst Du ganz allein bestimmen, welcher Content aufgerufen wird.

    Das Prinzip findest Du hier leicht verständlich an der Möglichkeit, die URL "umzuschreiben":

    http://www.php-rocks.de/thema/58-einfa…s-umsetzen.html

    Damit spielt sich alles in einer Datei ab und Du kannst entscheiden, was zu tun ist!

    Wenn Du für die Startseite den Kontakt anzeigen willst, definierst Du das halt für Dich bspw. in einem Controller.

    Auch wenn eine index.html nicht existiert, hast Du in der Hand, welche Datei stattdessen geladen/angezeigt werden soll, weil alles auf PHP basiert.

    Der Webserver macht seine für ihn festgelegte Arbeit und Du steuerst das ganze Projekt einfach über PHP.

    Der Vorteil bei der Vorgehensweise: Du hast die totale Kontrolle über die Routen und auf allen kompatiblen "Rechnern" mit lokalem Webserver reicht eine Installation, i.d.R. sogar das einfache kopieren des gesamten Webroot, damit alles so läuft, wie Du es geplant hast.

    Warum willst Du all diese Konzepte, die seit Jahren gut funktionieren übergehen?!

    Deine ganze Programmierer-"Deppen"-Beschimpfung lässt darauf schließen, dass Du keinen Plan von echter Entwicklung hast!

    Wenn man so einfache Dinge nicht hinbekommt, wie einen Dateipfad in seine Bestandteile aufzubröseln und als Link darzustellen, sollte man doch lieber den Ball flach halten.

    Deine Idee des Fallback-Index ist ebenso totaler Schwachsinn. Bis zu welcher Tiefe willst Du das denn abdecken?

    Das Fallback für nicht existente Seiten ist im Web immer noch 404!