Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/virtual/struebig/html/jstruebig/wordpress/wp-content/plugins/wp-syntax/wp-syntax.php on line 383
Um mit Javascript einem Objekt einen Event hinzuzufügen, bietet sich folgende Schreibweise an:
[object].onevent=function(e){// ... tu_was}
[object].onevent = function(e){
// ... tu_was
}
Wobei [object] ein Objekt des DOM ist und onevent einen Event meint, z.b. onclick. Diese Methode hat den Nachteil, dass ein bereits vorhandener Event überschrieben wird.
Die Mozilla-Funktion addEventListener() beseitigt dieses Problem, steht aber nicht in allen Browsern zu Verfügung. Die IE Variante mit attachEvent() ist leider nicht praktikabel, da bei jedem Aufruf die Funktion erneut dem Event zugefügt wird und das Eventobjekt selbst nicht in der Eventfunktion als this zu Verfügung steht.
[... weiterlesen]
Eine Spielerei die ich mal für jemanden in einem Forum (Hier der
Link zum Thread) gemacht habe. Weil's so toll aussieht mach ich's mal öffentlich. Wie das Skript eingesetzt werden kann, muss sich jeder selbst überlegen.
Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/virtual/struebig/html/jstruebig/wordpress/wp-content/plugins/wp-syntax/wp-syntax.php on line 383
Dieser Text ist etwas veraltet, zeigt aber das Grundprinzip, wie ein Text in eine Textarea eingefügt werden kann. Für BB-Code, habe ich mittlerweile eine andere Funktion geschrieben, diese findet ihr hier.
Text an der Cursorposition einfügen können nur der IE ab Version 5 und Mozilla Browser. Opera bleibt aussen vor. Wie es bei Mac und Linux Browsern aussieht, weiß ich nicht.
Mit dem Skript, können z.b. BBCode Tags eingefügt werden oder Smilies. Das Skript sieht so aus:
Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/virtual/struebig/html/jstruebig/wordpress/wp-content/plugins/wp-syntax/wp-syntax.php on line 383
Doppelte Einträge in einem Array lassen sich am effektivsten über ein Objekt entfernen. Der Trick dabei ist, das ein Objektattribut nicht doppelt vorkommen kann und somit ist ein Attribut, dass mehrmals zugewiesen wird nur einmal vorhanden.
Die Umsetzung erfolgt über Array.prototype dann läßt sich diese Funktion auf jedes Array anwenden.
Der Code sieht folgendermaßen aus:
Array.prototype.unique=function(){var o ={};var tmp =[];for(var i =0; i <this.length; i++) o[this[i]]=true;for(var i in o) tmp[tmp.length]= i;return tmp;}
Array.prototype.unique = function() {
var o = {};
var tmp = [];
for(var i = 0 ; i < this.length; i++) o[this[i]] = true;
for(var i in o) tmp[tmp.length] = i;
return tmp;
}
Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/virtual/struebig/html/jstruebig/wordpress/wp-content/plugins/wp-syntax/wp-syntax.php on line 383
Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/virtual/struebig/html/jstruebig/wordpress/wp-content/plugins/wp-syntax/wp-syntax.php on line 383
Kann man einen Server mit JS prüfen?
Ja, das geht, wenn man die URL eines Bildes auf dem Server kennt. Dazu kann man den onload bzw. onerror Eventhandler des Image Objektes benutzen, die Funktion könnte so aussehen:
function check(url){if(!url ||!document.images)returnvar img =new Image();
img.onload=function(){
alert('Das Bild konnte geladen werden der Server ist online!');
document.images[testBild].src=this.src;};
img.onerror=function(){
alert('Das Bild konnte nicht geladen werden!');
document.images[testbild].src=this.src+'?'+Math.random();}
img.src= url;}
function check(url) {
if(!url || !document.images) return
var img = new Image();
img.onload = function () {
alert('Das Bild konnte geladen werden der Server ist online!');
document.images[testBild].src = this.src;
};
img.onerror = function () {
alert('Das Bild konnte nicht geladen werden!');
document.images[testbild].src = this.src + '?' + Math.random();
}
img.src = url;
}
Mit Hilfe von Math.random() wird bei jedem Aufruf eine neue URL erstellt, damit die Datei immer vom Server geholt wird und nicht aus dem Cache des Browsers.
Es läßt sich aber auch direkt in ein Bild im HTML Code integrieren, z.b. so:
Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/virtual/struebig/html/jstruebig/wordpress/wp-content/plugins/wp-syntax/wp-syntax.php on line 383
Beschreibung
Um ein Datum auf Gültigkeit zu prüfen muss die Eingabe zuerst zerlegt werden.
Die Funktion string2date() geht von der typisch deutschen Form TT.MM.JJJJ aus, wobei die Trennzeichen auch ein Minuszeichen oder Schrägstrich sein können.
Die Eingabe wird an den Trennzeichen gesplittet und daraus dann ein Date() Objekt erstellt. Als nächstes wird der Tag, Monat und das Jahr mit der Eingabe verglichen, stimmen alle Werte überein, wird das Date Objekt zurückgegeben, wenn nicht null
Der Code
/////////////////////////////////////////////////////////////// string2date(string)//// string => TT.MM.YYYY HH:MM:SS// Das Trennzeichen kann ein: "./-" sein// prüft einen String auf ein gültiges Datum// gibt ein Datum Objekt oder null zurückfunction string2date(string){if(!string)returnnull;
string +='';
string = string.replace(/[-/]/g,'.');// Trennzeichen normalisieren
string = string.replace(/[^0-9.: ]/g,'');// ungültige Zeichen entfernen
string = string.replace(/+/g,' ');// doppelte Leerzeichen entfernenvar uhr = string.split(" ");// Uhrzeit abtrennenvar split = uhr[0].split(".");var day = parseInt(split[0],10);var month = parseInt(split[1]||0,10);var year = parseInt(split[2]||0,10);if(isNaN(year)) year = getFullYear();var check =newDate(year, month -1, day);if(uhr[1]){var uhr = uhr[1].split(':');
check.setHours( uhr[0]||0);
check.setMinutes( uhr[1]||0);
check.setSeconds( uhr[2]||0);}var day2 = check.getDate();var year2 = getFullYear(check);var month2 = check.getMonth()+1;return( year2 == year && month == month2 && day == day2 )? check
:null;}function getFullYear(date){if(!date) date =newDate();if(typeof date.getFullYear!='undefined')return date.getFullYear();var year = date.getYear();if(year <1000) year +=2000;return year;}
///////////////////////////////////////////////////////////
//
// string2date(string)
//
// string => TT.MM.YYYY HH:MM:SS
// Das Trennzeichen kann ein: "./-" sein
// prüft einen String auf ein gültiges Datum
// gibt ein Datum Objekt oder null zurück
function string2date(string) {
if(!string) return null;
string += '';
string = string.replace(/[-/]/g, '.'); // Trennzeichen normalisieren
string = string.replace(/[^0-9.: ]/g, ''); // ungültige Zeichen entfernen
string = string.replace(/ +/g, ' '); // doppelte Leerzeichen entfernen
var uhr = string.split(" "); // Uhrzeit abtrennen
var split = uhr[0].split(".");
var day = parseInt(split[0], 10);
var month = parseInt(split[1] || 0, 10);
var year = parseInt(split[2] || 0, 10);
if(isNaN(year)) year = getFullYear();
var check = new Date(year, month - 1, day);
if(uhr[1]) {
var uhr = uhr[1].split(':');
check.setHours( uhr[0] || 0 );
check.setMinutes( uhr[1] || 0 );
check.setSeconds( uhr[2] || 0 );
}
var day2 = check.getDate();
var year2 = getFullYear(check);
var month2 = check.getMonth() + 1;
return ( year2 == year && month == month2 && day == day2 ) ? check
: null;
}
function getFullYear(date){
if(!date) date = new Date();
if(typeof date.getFullYear != 'undefined') return date.getFullYear();
var year = date.getYear();
if(year < 1000) year += 2000;
return year;
}
Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/virtual/struebig/html/jstruebig/wordpress/wp-content/plugins/wp-syntax/wp-syntax.php on line 383
Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/virtual/struebig/html/jstruebig/wordpress/wp-content/plugins/wp-syntax/wp-syntax.php on line 383
Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/virtual/struebig/html/jstruebig/wordpress/wp-content/plugins/wp-syntax/wp-syntax.php on line 383
Die Funktion stripHTML() löscht alle HTML Tags in einem String.
Mit CSS lassen sich Bereiche einfach fixieren. Die Angabe position:fixed sorgt dafür, dass der Layer an der Position fixiert bleibt, an der er gerade steht.
Das Problem mit fixed ist, dass es u.a. der IE
noch nicht umsetzt, d.h. er ignoriert position:fixed. Deshalb entstand diese Javascript Funktion um einen Bereich zu fixieren. Ich habe das Skript Beispielhaft hier in die Seite eingebaut.