Nach der Standardabweichung in PHP folgt die gleiche Funktion in Javascript.
Javascript Funktion Standardabweichung

var stabw = function(array) {
	var len = 0;
	var sum = array.reduce(function(pv, cv) { ++len; return pv + cv; }, 0);
	var mean = sum / len;
	var result = 0;
	for (var i = 0; i < len; i++)
		result += Math.pow(array[i] - mean, 2);
	len = (len == 1) ? len : len - 1;			
	return Math.sqrt(result / len);	
}

Als Parameter wird ein numerisches Array übergeben:

var testArray = [12, 13, 16, 18];
console.log(stabw(testArray));

In diesem Beispiel beträgt die Standardabweichung 2,753785274. Weitere Informationen zur Standardabweichung gibt es im PHP Artikel über die Standardabweichung (siehe oben).

Keine Kommentare »
 

Dem Besucher die Möglichkeit zu geben die Anfahrt zu einem Unternehmensstandort berechnen zu lassen ist heut zu tage ein muss für jede Unternehmens Webseite. Unschön ist ein weiteres Fenster / Pop-Up das sich öffnet nur um eine Anfahrtsskizze über die Google Maps Funktion anzuzeigen. Im selben Fenster wollen wir Google Maps nicht öffnen. Wir wollen den Besucher nicht von der Webseite weg manövrieren.

Ein Lösungsvorschlag von mir ist das öffnen von Google Maps in einer Highlighting-Box wie der Shadowbox. Als angenehm empfunden haben viele Besucher einen zweiten Link für die Google Routen Berechnung. Bei den Vorhaben seine Anfahrtsroute zu berechnen sollte man dem Besucher nicht im Interface / Platz beschneiden.

Hierzu habe ich mithilfe von jQuery ein kleines Script geschrieben, das am besten in den Header des Dokumentes, nach dem jQuery Framework und der Shadowbox, eingebunden wird. Ein paar HTML Elemente müssen wir ebenfalls auf der Webseite platzieren um dem Besucher Interaktion zu ermöglichen.

Das Beispiel auf dieser Seite beeinhaltet die Anzeige der Anfahrt, dargestellt in der Shadowbox, ins Watergate nach Berlin.

Anfahrt anzeigen • Route berechnen
Fremd Beispiel 2:PSD zu WordPress Theme(unten auf der Seite)

Die Einrichtung um Google Maps in der Shadowbox öffnen zu lassen gestaltet sich, wenn man weiß wie, sehr einfach.
Das jQuery Framework und die Shadowbox müssen vor Script Aufruf in das HTML Dokument eingebunden werden. Dies geschieht im Kopfbereich folgerndermaßen:

<link rel="stylesheet" type="text/css" href="shadowbox.css" />
<script src="jquery.js" type="text/javascript"></script>
<script src="shadowbox.js" type="text/javascript"></script>

Aktuelle Downloads findest du hier:

Dieses Script bindet das „click“ Event an den Link und macht es uns möglich nach einem Klick eines Benutzers mit einer eigenen Funktion zu reagieren. In unserer Funktion werden wird der Wert des Formularfeldes ermittelt und als GET Parameter (Adresse) für den iFrame der Shadowbox verwendet.

Das zweite „click“ Event öffnet ein neues Fenster / Tab mit der Adresse aus dem Formularfeld für die Google Routen Berechnung.

jQuery(document).ready(function() {
   Shadowbox.init({
       handleOversize: 'drag',
       modal: true
   });
   jQuery('#google-route-b').bind('click', function() {
       Shadowbox.open({
	   content: jQuery(this).attr('href')+jQuery('#google-route-f').attr('value'),
  	   player:  'iframe'
      });
      return false;
   });
   jQuery('#google-route-d').bind('click', function() {
	jQuery(this).attr('href', jQuery(this).attr('href')+jQuery('#google-route-f').attr('value'));
	return true;
   });
});

Der Selektor #google-route-b steht hierbei für den Link auf den geklickt werden muss um unser „Formular“ abzusenden. #google-route-f bezeichnet das Feld mit der Adresse des Besuchers. Die Rückgabe von „false“ am Ende der Funktion verhindert das öffnen von den Google Routen im selben Fenster.

#google-route-d kennzeichnet den Link um die Google Routen Berechnung. Nach dem Einfügen der Adresse aus dem Input Feld in den Link wird „true“ zurück gegeben um dem Browser zu signalisieren weiter mit seiner standard Link Routine zu arbeiten.

<input type="text" name="saddr" title="Ihre Adresse" class="input-text" id="google-route-f">
<a href="http://maps.google.de?daddr=***DEINE STRAßE, DEINE STADT***&amp;&output=embed&saddr=" title="Anfahrt anzeigen" id="google-route-b" target="_blank">Anfahrt anzeigen</a>
<a href="http://maps.google.de?daddr=***DEINE STRAßE, DEINE STADT***&amp;saddr=" title="Route berechnen" id="google-route-d" target="_blank">Route berechnen</a>

***DEINE STRAßE, DEINE STADT*** ist natürlich durch die jeweilige Firmenadresse zu ersetzen.

Keine Kommentare »
 

Ob es ratsam ist externe Links in neuem Fenster / Tab zu öffnen bzw. Verweise generell in neuen Tabs / Fenstern zu öffnen ist umstritten. Grundsätzlich werden dabei zwei sinnvolle Ansätze vertreten.

  • Ansatz A

    Dem Benutzer ist es selbst überlassen wie sich Links nach anklicken verhalten. Alle Links öffnen sich im selben Fenster.

  • Ansatz B

    Dem Benutzer wird die Entscheidung abgenommen und externe Links öffnen sich in einem neuen Fenster / Tab. Hierbei wird die eigentliche Seite nicht verlassen.

Ich selbst tendiere zu Ansatz B. Sollte es, aus welchen Gründen auch immer, nicht möglich sein ein target=“_blank“ Server seitig in das HTML Dokument einzufügen verwende ich eine Javascript Funktion auf jQuery Basis.

Externe Links in neuem Fenster öffnen –extendable

Diese Methode ist insbesondere interessant wenn verschiedene Faktoren für die Prüfung eines Links erforderlich sind.

/* Nicht vergessen das jQuery Framework vor diesem Snippet einzubinden  */
jQuery(document).ready(function() {
	var getdomainname = function(url) {
		return url.split('/')[2].split(':')[0];
	}
	var targetblank = function() {	
		if (window.location.host != getdomainname(jQuery(this).attr('href')))
			jQuery(this).attr('target', '_blank');
	}
	jQuery('body a').each(targetblank);	
});

Mithilfe dieser Funktion können jederzeit auch einzelne Bereiche der Internetseite angesprochen werden. Strukturen ohne externe Links sollten auch aus Performance Gründen nicht von der Funktion überprüft werden.

Weitere Informationen zur Funktion getdomainname() findest du in meinem vorherigen Post: Javascript: Domain Name ermitteln (JS: get domain name) via URL

Externe Links in neuem Fenster öffnen – quicky

/* Nicht vergessen das jQuery Framework vor diesem Snippet einzubinden  */
jQuery(document).ready(function() {
        jQuery("a[href^='http']:not([href^='"+window.location.host+"'])").attr('target', '_blank');
});

Diese Methode fügt allen a Tags mit einem http:// am Anfang des href Attributes das nicht der aktuellen Domain entspricht das target=“_blank“ hinzu. Nicht zu vergessen ist, das auch hier mit Hilfe des Selektors aus einzelne Bereiche des HTML Dokuments angesprochen werden können. Dieser Vorgehensweise fehlt es leider an Erweiterbarkeit. Insbesondere für Filter Regeln zur die Auswahl der Links.

5 Kommentare »
 

Die aktuelle Domain in Form *Subdomain**Domain Name**Top-Level Domain* einer Internetseite wird in Javascript mit

window.location.host

ermittelt. Hierbei werden ebenfalls Subdomains beachtet. Die Top-Level Domain erhält man mit:

document.domain

Domain Name aus einer URL ermitteln

Um in Javascript den Domain Name aus einer URL zu ermitteln benötigt es keinen großen Aufwand. Für das Ermitteln des Domain Namens aus einer URL in Javascript verwende folgende Funktion:

var getdomainname = function(url) {
	return url.split('/')[2].split(':')[0];
}

In diesem Einzeiler wird der URL String zweifach geteilt. Anhand von /, : und jeweils mit den passenden teilen des Arrays weitergearbeitet. Diese Array Einzelteile werden durch [2] und [0] definiert. Reinen PHP Programmierern wird diese Vorgehensweise suspekt sein. Eine alternative Lösungsmöglichkeit stellt das ermitteln der Domain mittels einem Regulären Ausdruck dar.

getdomainname('http://www.example.com/example/example');

Der Rückgabewert hierbei ist „www.example.com“.

Keine Kommentare »
 

Mit der Shadowbox treten Probleme beim verwenden in Eingabefeldern (input Tags) und Textfelder (textarea Tags) auf. Die Leertaste sowie die links und rechts Tasten werden beim tippen in Textfelder nicht eingefügt bzw. das Textfeld reagiert nicht.

Die Ursache ist das Shadowbox.js, unsere Highlight-Box, die Tastensignale als Steuersignale für das Weiterschalten und der gleichen verwendet. Abhilfe schafft das Initialisieren der Shadowbox mit dem Parameter enableKeys: false. Beispiel Code:

Shadowbox.init({
     handleOversize: 'drag',
     modal: true,
     enableKeys: false
});
Keine Kommentare »
 

Die Verbreitung der eignen Blog-Inhalte über Soziale Netzwerke gehört inzwischen zum Pflichtprogramm für jeden Blogger und ist auch für Firmenpräsentationen oder Online Shops ein wichtiges Werbemittel geworden.

Social Bookmark Dienste kristallisieren sich inzwischen als Hype heraus. Google Bookmarks, Digg oder Mr. Wong haben weniger Verbreitung oder sind Nutzern gänzlich unbekannt. Draus resultiert, das diese Dienste nicht den gewünschten Besucherstrom bringen.

Google+, twitter und facebook. Die 3 Großen im Netz, die jedem bekannt sind, auf diese möchte ich meinen Focus in diesem Blog Eintrag legen.

Für die Integration dieser Buttons stellen die 3 Communities jeweils Button Generatoren und gut verständliche Anleitungen zur Integration bereit.

Jeder dieser Buttons läd ein Script vom Server des jeweiligen Anbieters um die Buttons mit Funktionalität auszustatten. Das laden der Scripte kann, je nach Last der Ressourcen der Drittanbieter (Google, twitter, facebook), den Aufbau der Seite bremsen.

Google stellt zur Integration seines Buttons von Haus aus die Möglichkeit für eine asynchrone Integration bereit. Auf Basis dieses kleinen Javascriptes ist es ein leichtes den twitter tweet und den facebook Like Button ebenfalls asynchron in unsere Webseite zu integrieren.

Folgendes Script läd Google+, twitter tweet & facebook Like Button asynchron von den Drittanbieter Servern:

window.___gcfg = {lang: 'de'}; // google+
var socials = ['https://apis.google.com/js/plusone.js', 'http://platform.twitter.com/widgets.js', 'http://connect.facebook.net/de_DE/all.js#xfbml=1'];	
for (var i = 0; i < socials.length; i++) {
  	var po = document.createElement('script');
  	po.type = 'text/javascript';
  	po.async = true;
	po.src = socials[i];
	var s = document.getElementsByTagName('script')[0];
	s.parentNode.insertBefore(po, s);
}

Die Einbindung des Scriptes sollte im Kopfbereich (head-Tag) unseres Dokumentes erfolgen.

Ein Beispiel für die jeweiligen HTML Tags stellt dieser Code Block hier da, welcher in den Inhalts Bereich (body-Tag) des Dokumentes eingebunden werden kann:

<div class="g-plusone" data-size="medium" href="***LINK***"></div>
<a href="http://twitter.com/share" class="twitter-share-button" data-url="***LINK***" data-count="horizontal" lang="de">Tweet</a>
<div class="fb-like" href="***LINK***" width="450" show_faces="false" action="like" font="verdana"></div>

Der Platzhalter ***LINK*** ist hierbei durch den Verweis zu ersetzen, der an Google, twitter oder facebook weitergereicht werden soll. Anpassungen der Buttons in Aussehen, Sprache oder Funktionalität können von den jeweiligen Anbietern ersehen werden. Siehe Generatoren und Anleitungen der jeweiligen Anbieter. (siehe oben im Artikel)

Google+, twitter tweet & facebook Like für WordPress

In diesem WordPress Blog-System ist Google+, twitter tweet & facebook Like auf die bereits aufgezeigte Weise implementiert. Um den Short-Link des jeweiligen Artikels in einem WordPress Template zu ermitteln verwende ich die Funktion wp_get_shortlink(). Der Rückgabe Wert dieser Funktion oder die Funktion selber muss lediglich durch den ***LINK*** Platzhalter ersetzt werden.

Keine Kommentare »