Marc Humer: "undefined" abfangen & Spezial-Bookmark - so geht's

Hallo Coder.

<vorab>
   Mir ist sehr wohl bewußt, daß diese Geschichte hier nicht Gottes
   Geschenk an die Welt darstellt,  aber sie funktioniert hier ohne
   jeden Fehler.

Nichtsdestotrotz freue ich mich wie wohl jeder über konstruktive
   Kritik, hier im Forum oder per Mail an marc@humer.info !

Ich werde nun ein wenig  ausholen, um den Sinn und  Zweck dieser
   Funktion etwas  zu verdeutlichen und eventuell interessiert Euch
   das nicht. Überspringt dann bitte den Text bis zur Schere |8·<|.
</vorab>

Also.... ich habe im Google nach einer  Möglichkeit gesucht, dieses
blöde *undefined* für meine Lesezeichen-Funktion ohne Riesenaufwand
loszuwerden. Leider habe ich selbst in diesem  Forum nur sehr wenig
Brauchbares dazu gefunden.

Auf Eventhandler hatte ich gar keinen Bock, da ich viel Javascript,
PHP und CSS vermische, versuche ich immer, den Fussweg einzuhalten.
Soviel zur Vorgeschichte.

Also gut, dachte ich, wenn sich sonst keiner daran  stört, muss ich
selbst was basteln! Das Ergebnis ist eine Lesezeichen-Funktion, die
auch dann funktioniert, wenn man einen/beide Parameter verpennt.

Ich wollte außerdem Uhrzeit und Datum sowohl beim  Link als auch im
Titel  mit verarbeitet  wissen und durch ein PHP-Skript die Aufrufe
meiner Seite per Bookmark erkannt werden (rein theroristisch).

Ist zwar kein echtes  Usertracking (ist auch unerheblich), aber ich
kann somit sehen, WENN jemand via Bookmark kommt und WANN er dieses
angelegt hat.

Die Anzahl der Aufrufe über  Favoriten, Bookmarks, etc. ist für uns
ein Indikator, OB unser Online-Angebotes auch attraktiv ist und das
Datum/Zeit-Gelumpe dient der Auswertung, WANN wir attraktiv waren.

Schade nur, daß die Uhrzeit nicht mit Doppelpunkt an die Favs über-
geben werden kann (snif) - any hints?

So, ihr lieben Liebenden,  hier nun endlich die avisierte  Funktion
für Lesezeichen und  untendran gibt's dann dafür ein paar Beispiele
zur Funktion (mit, ohne oder mit zuwenigen Parametern).

ENJOY, Marc :o)

---------- 8·< --------- 8·< --------- 8·< --------- 8·< ----------
<script type="text/javascript">
<!--//
function bm(lURL,lTITLE)
{
 // Datum und Zeit holen
 var now = new Date();
 Y = now.getYear()
 m = now.getMonth()+1; if (m < 10) { m = '0'+m;}
 d = now.getDate(); if (d < 10) { d = '0'+d;}
 H = now.getHours(); if (H < 10) { H = '0'+H;}
 t = now.getMinutes(); if (t < 10) { t = '0'+t;}
 s = now.getSeconds(); if (s < 10) { s = '0'+s;}
 modified = '&modified=' + Y + m + d + H + t + s;
 dt = ' ('+d+"."+m+"."+Y+", "+H+"."+t+"."+s+' Uhr)';

// hier isses !
 chkU = lURL + " ";
 bURL = chkU;
 if (chkU.substr(0,9) == 'undefined') { bURL = 'index.php '; }
 else
 if (chkU.substr(0,1) == ' ') { bURL = 'index.php '; }
 bURL = bURL.substr(0,bURL.length-1);

// hier wieder, wenn's beim ersten Mal zu schnell war ;-)
 chkT = lTITLE + " ";
 bTITLE = chkT;
 if (chkT.substr(0,9) == 'undefined')
  { bTITLE = 'Geschenke für alle Fälle '; }
 else
 if (chkT.substr(0,1) == ' ')
  { bTITLE = 'Geschenke für alle Fälle '; }
 bTITLE = bTITLE.substr(0,bTITLE.length-1);

// Nun noch die URL zusammenbauen
 bURL_vor = 'http://www.PresentWare.de/bookmark.php?page=';
 bURL = bURL_vor + bURL + modified;

// und dem ganzen einen hübschen Titel verpassen
 bTITLE_vor = 'PresentWare » ';
 bTITLE = bTITLE_vor + bTITLE + dt;

if (document.all) {
 // Internet Explorer - mach misch vaworitt alda dragan
  window.external.AddFavorite(bURL,bTITLE)
 } else {
 // Netscape, Linx oder irgendwas anderes halt
  prompt("Netscape: Rufen Sie die Seite auf und drücken "+
         "Sie dann STRG+D.\n\nWenn es nicht klappt, einf"+
         "ach den Link hier kopieren: ",bURL);
 }
}
//-->
</script>
---------- 8·< --------- 8·< --------- 8·< --------- 8·< ----------

Und hier, wie versprochen, die Bleistifte...
---------- 8·< --------- 8·< --------- 8·< --------- 8·< ----------
<br><A HREF="JavaScript:bm();">ohne Parameter</A>
<br><A HREF="JavaScript:bm('','');">leere Parameter</A>
<br><A HREF="JavaScript:bm('seite.php');">nur Parameter 1</A>
<br><A HREF="JavaScript:bm('','titel');">nur Parameter 2</A>
<br><A HREF="JavaScript:bm('seite.php','titel');">beide Parameter</A>
---------- 8·< --------- 8·< --------- 8·< --------- 8·< ----------

ORIGIN: Made with Crosspoint 3.11 :o)