"undefined" abfangen & Spezial-Bookmark - so geht's
Marc Humer
- javascript
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)