Philip Geschrieben 27. Februar 2006 Geschrieben 27. Februar 2006 Ich wurde darauf aufmerksam gemacht, dass auf meiner Meteo-Seite das KOSIF nicht mehr aktuell ist. Wie ich jetzt gemerkt habe, hat Skyguide die URL zum KOSIF geändert. KOSIF von heute: http://www.skyguide.ch/de/AIMServices/AicKosifVfrBulletin/_Kosif_Karten/KOSIF_Karte_20060227.pdf Wie man sieht, ändert sich der Pfad nun täglich. Gibt es eine Möglichkeit, wie man ein solches pdf trotzdem verlinken kann? Oder muss ich nun auf die Einstiegsseite von Skyguide verweisen? Gruss und Dank Philip Zitieren
gacond Geschrieben 27. Februar 2006 Geschrieben 27. Februar 2006 Salü Philip Wie du vielleicht bemerkt hast, sind die hinteren Stellen des Filenamens das aktuelle Datum. Mit Javascript könntest du nun einen Link bauen, der das aktuelle Datum einschliesst. Beispiel gefällig??? Gruss Silvan Zitieren
gacond Geschrieben 27. Februar 2006 Geschrieben 27. Februar 2006 So etwa: <script language="JavaScript"> function openKosif() { // base url var baseURL = "http://www.skyguide.ch/de/AIMServices/AicKosifVfrBulletin/_Kosif_Karten/KOSIF_Karte_########.pdf"; // format YYYYMMDD date var today = new Date() var y = today.getFullYear(); var m = (((today.getMonth()+1) < 10) ? "0" + String(today.getMonth()+1) : String(today.getMonth()+1)); var d = ((today.getDate() < 10) ? "0" + String(today.getDate()) : String(today.getDate())); var dateString = y + m + d; // link window.open(baseURL.replace("########", dateString), 'Kosif', 'menubar=no, resizable=yes, scrollbars=yes, status=no, toolbar=no'); } </script> <a href="javascript:openKosif()">Kosif hier!</a> Gruss Silvan Zitieren
Philip Geschrieben 28. Februar 2006 Autor Geschrieben 28. Februar 2006 Allerbesten Dank, Silvan! Das werde ich gleich mal versuchen. :) Gruss Philip Zitieren
gacond Geschrieben 28. Februar 2006 Geschrieben 28. Februar 2006 Warum sollte es darum nicht geeignet sein? Javascript hat sehr wohl zugriff auf das aktuelle Datum, auch wenn es nicht über den Server sondern über den Client läuft. Voraussetzung ist natürlich, dass die Uhr am Client einigermassen richtig gestellt ist. Mit PHP gehts natürlich auch. Gruss Silvan Zitieren
Philip Geschrieben 28. Februar 2006 Autor Geschrieben 28. Februar 2006 Zusätzliche Schwierigkeit ist, dass ich sowohl das KOSIF von heute, als auch das KOSIF von morgen verlinken möchte. Dann wird es ungleich schwieriger, richtig? Zitieren
gacond Geschrieben 28. Februar 2006 Geschrieben 28. Februar 2006 Einfach addieren geht in die Hose... Sonst gibts das Problem mit dem 32.Januar. Aber die Date Klasse ist zum Glück so schlau das zu können. Habe meine Methode von oben ein wenig angepasst: <script language="JavaScript"> function openKosif(dayOffset) { // base url var baseURL = "http://www.skyguide.ch/de/AIMServices/AicKosifVfrBulletin/_Kosif_Karten/KOSIF_Karte_########.pdf"; // format YYYYMMDD date var today = new Date() today.setDate(today.getDate() + dayOffset); var y = today.getFullYear(); var m = (((today.getMonth()+1) < 10) ? "0" + String(today.getMonth()+1) : String(today.getMonth()+1)); var d = ((today.getDate() < 10) ? "0" + String(today.getDate()) : String(today.getDate())); var dateString = y + m + d; // link window.open(baseURL.replace("########", dateString), 'Kosif', 'menubar=no, resizable=yes, scrollbars=yes, status=no, toolbar=no'); } </script> <a href="javascript:openKosif(0)">Kosif heute</a><br> <a href="javascript:openKosif(1)">Kosif morgen</a><br> <a href="javascript:openKosif(2)">Kosif übermorgen</a><br> <a href="javascript:openKosif(7)">Kosif in einer Woche</a><br> Voraussetzung ist aber auch, dass Skyguide die verlinkten Files auch zur Verfügung stellt. Gruss Silvan Zitieren
Philip Geschrieben 28. Februar 2006 Autor Geschrieben 28. Februar 2006 Silvan, besten Dank für Deine ausführlich Antwort! Für mich als Banause alles etwas kompliziert, aber ich werde es einmal versuchen. Martin: "Morgen = Heute + 1" ... da habe ich ja wieder etwas neues gelernt. Eigentlich wollte ich auf die Schwierigkeiten ansprechen, die Silvan erwähnt hat. ;) Ausserdem ist es für einen Laien wie mich nicht ganz einfach zu einem Datum, das ich ja nicht kenne, 1 dazu zu zählen. Ob man den Begriff "tomorrow" oder "today + 1" wählt... woher weiss ich das. Mit Java und solchen Dingen kenne ich mich zu meiner Schande leider nicht aus. Gruss und Dank Philip Zitieren
gacond Geschrieben 28. Februar 2006 Geschrieben 28. Februar 2006 Hoi Philip Es ist nicht so eine Hexerei... Kurze Erklärung: today, d, m, y, dateString, baseURL sind nur meine Variablennamen. dayOffset ist der Parameter, der beim Aufruf angegeben wird. Er sagt wieviele Tage dazuaddiert werden sollen. Der Trick vom 32. Januar ist, dass wir das addieren des Tages der "Date" Klasse überlassen und nicht einfach den Tag hochzählen. Dies erledigt today.setDate für uns: var today = new Date() today.setDate(today.getDate() + dayOffset); Dies hier: var y = today.getFullYear(); var m = (((today.getMonth()+1) < 10) ? "0" + String(today.getMonth()+1) : String(today.getMonth()+1)); var d = ((today.getDate() < 10) ? "0" + String(today.getDate()) : String(today.getDate())); Ist nur ein wenig Bastlerei, dass die 0 auch schön vor den Zahlen stehen (20060228 anstatt 2006228) Dies hier: window.open(baseURL.replace("########", dateString), 'Kosif', 'menubar=no, resizable=yes, scrollbars=yes, status=no, toolbar=no'); Ist eigentlich nur ein normales Popup-Aufruf der den Platzhalter im "baseURL" ersetzt. Diesen Platzhalter habe ich eigentlich nur eingebaut, damit sich dieser URL einfacher anpassen lässt. Ich hoffe das war einigermassen verständlich... Gruss Silvan ... der hofft das es endlich Frühling wird und er sich wieder mehr in der Luft als vor dem Compi aufhalten kann. Zitieren
Philip Geschrieben 28. Februar 2006 Autor Geschrieben 28. Februar 2006 Danke Euch beiden für die Antworten. Wie Ihr seht, fehlen mir nicht nur die Grundkenntnisse! :D :009: Um mich weiteren JAVA- und PHP-Peinlichkeiten entziehen zu können, versuche ich mich nun etwas in die Materie zu vertiefen... :o :004: Gruss und Dank von Philip Zitieren
gacond Geschrieben 28. Februar 2006 Geschrieben 28. Februar 2006 Aber bitte nicht Javascript mit Java verwechseln: Javascript --> Clientseitige Scriptsprache für den Browser (das läuft beim Client im Browser) PHP --> Serverseitige Scriptsprache. Wird auf dem Server interpretiert und sendet die "fertig bearbeitete" Seite an den Browser. Java --> ganz was anderes... Kann man mit JSP etc auch im Web einsetzten (Serverseitig), das zu erklären würde aber sehr technisch werden. Vor- und Nachteile des ganzen: PHP: + Browserunabhängig + Zeit vom Server (sollte eigentlich stimmen) - Benötigt PHP support auf dem Server - Kann nicht einfach so schnell, schnell lokal getestet werden Javascript: + Läuft ohne Plugin + Einfach ins HTML reinkopieren und fertig - Abhängig von der Zeit des Clients - Browserabhängig (mein Script oben ist kaum problematisch, weil nicht wahnsinnig Umfangreich) Nun musst du selbst wählen, welchen Weg du gehen willst. Gruss Silvan Zitieren
Stefan Gschwind Geschrieben 28. Februar 2006 Geschrieben 28. Februar 2006 Danke Euch beiden für die Antworten. Wie Ihr seht, fehlen mir nicht nur die Grundkenntnisse! Um mich weiteren JAVA- und PHP-Peinlichkeiten entziehen zu können, versuche ich mich nun etwas in die Materie zu vertiefen... Hallo Philip Ein einfacher Verweis auf die skyguide Seite tuts nicht? http://www.skyguide.ch/de/AIMServices/AicKosifVfrBulletin/ Stefan Zitieren
gacond Geschrieben 1. März 2006 Geschrieben 1. März 2006 Da hast du definitiv recht... Nur, wie hoch ist die Wahrscheinlichkeit, dass ein potentieller schweizer Kosif-anschauer aus Amerika kommt und eine andere Zeit eingestellt hat? Oder dass jemand seine Uhr um Stunden / Tage verstellt hat, dass das Datum schon nicht mehr stimmt? (OK, ich vielleicht weil ich schon seid einigen Wochen zu faul bin zuhause die Pufferbatterie zu wechseln :009: ) <OT> Man könnte natürlich die Superlösung bauen und mit Javascript und asynchronen Callbacks (AJAX) die Zeit von einem WebService holen. Dann hätte man den Fünfer und das Weggli :007:. </OT> Gruss Silvan Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.