Tags in Kleinbuchstaben

Fehler- und Bugmeldungen zum Scriptly

Tags in Kleinbuchstaben

Beitragvon Inge » 28.11.2010 03:43

Hallo Benedikt,

beim Aufräumen einer Fremdseite habe ich eben mit Schrecken bemerkt, daß das Script "Tags in Kleinbuchstaben" auch PHP- und Javascript-Variablen und Funktionsnamen in Kleinbuchstaben wandelt, was natürlich fatale Folgen hat.
Was sonst noch, habe ich nicht näher untersucht.

Ich gehe bei der Nutzung des Scriptes davon aus, daß lediglich HTML-Tags in Großbuchstaben damit gewandelt werden sollen.

Gruß
Inge
Scriptly Version: 0.8.95.6
Inge
Ambitioniertes Mitglied
 
Beiträge: 86
Registriert: 22.08.2010 13:08

Advertisement



Registrieren Sie sich, um diese Anzeige nicht mehr zu sehen!
 

Re: Tags in Kleinbuchstaben

Beitragvon Benedikt Loepp » 28.11.2010 17:20

Hi,
so, wie du es beschreibst, sollte es auch eigentlich sein! Deshalb Danke für den Hinweis - ich habe mir das Problem mal angeschaut und versucht nachzuvollziehen, und konnte es für PHP-Abschnitte innerhalb von HTML-Dateien auch tatsächlich sofort nachvollziehen.
Eine neue und korrigierte Version des Plugins findet sich hier: post2492.html#p2492
Mit dem nächsten Update des Scriptly wird diese Version des Scripts auch direkt mitgeliefert werden.
Was ich nicht so ganz verstehe, unter welchen Bedingungen sich das Script auf Javascript-Code auswirken soll? Kannst du mal ein entsprechendes Beispiel bitte geben?

Schönen Gruß,
Benedikt Loepp
Benedikt Loepp
Administrator
 
Beiträge: 2729
Registriert: 17.06.2005 18:30
Wohnort: Lünen

Re: Tags in Kleinbuchstaben

Beitragvon Inge » 28.11.2010 18:46

Hallo Benedikt,

Benedikt Loepp hat geschrieben:Was ich nicht so ganz verstehe, unter welchen Bedingungen sich das Script auf Javascript-Code auswirken soll? Kannst du mal ein entsprechendes Beispiel bitte geben?

Hier ein Abschnitt aus einen Javascript-Block - vor und nach dem Scriptdurchlauf:

Original:
Code: Alles auswählen
function Datum(Zahl) {
// Server Datum
var now = new Date(<?php echo $Javascriptzeit; ?>);

//var now = new Date();
var TageKurz = new Array ("So", "Mo", "Di", "Mi", "Do", "Fr", "Sa");
var TageLang = new Array ("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
var MonateLang = new Array ("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
var MonateKurz = new Array ("Jan", "Feb", "März", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez")
var date = ((now.getDate()<10) ? "0" : "")+ now.getDate();

function VierZeichen(number)        {
        return (number < 1000) ? number + 1900 : number;
        }

if(Zahl == 1) {
heute = TageKurz[now.getDay()]+ ". "  + date + ". " + MonateLang[now.getMonth()] + " " +(VierZeichen(now.getYear())) ;
}
if(Zahl == 2) {
heute = TageLang[now.getDay()]+ " "  + date + ". " + MonateLang[now.getMonth()] + " " +(VierZeichen(now.getYear())) ;
}
if(Zahl == 3) {
heute = TageKurz[now.getDay()]+ ". "  + date + ". " + MonateKurz[now.getMonth()] + ". " +(VierZeichen(now.getYear())) ;
}
if(Zahl == 4) {
heute = TageKurz[now.getDay()]+ ". "  + date + ". " + MonateLang[now.getMonth()] ;
}
if(Zahl == 5) {
heute = date + ". " + MonateKurz[now.getMonth()] + ". " +(VierZeichen(now.getYear())) ;
}
document.write("" +heute);
}


Nach Scriptlauf:
Code: Alles auswählen
function Datum(Zahl) {
// Server Datum
var now = new Date(<?php echo $javascriptzeit; ?>);

//var now = new Date();
var TageKurz = new Array ("So", "Mo", "Di", "Mi", "Do", "Fr", "Sa");
var TageLang = new Array ("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
var MonateLang = new Array ("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
var MonateKurz = new Array ("Jan", "Feb", "März", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez")
var date = ((now.getDate()<10) ? "0" : "")+ now.getdate();

function vierzeichen(number)        {
        return (number < 1000) ? number + 1900 : number;
        }

if(zahl == 1) {
heute = tagekurz[now.getday()]+ ". "  + date + ". " + monatelang[now.getmonth()] + " " +(vierzeichen(now.getyear())) ;
}
if(zahl == 2) {
heute = tagelang[now.getday()]+ " "  + date + ". " + monatelang[now.getmonth()] + " " +(vierzeichen(now.getyear())) ;
}
if(zahl == 3) {
heute = tagekurz[now.getday()]+ ". "  + date + ". " + monatekurz[now.getmonth()] + ". " +(vierzeichen(now.getyear())) ;
}
if(zahl == 4) {
heute = tagekurz[now.getday()]+ ". "  + date + ". " + monatelang[now.getmonth()] ;
}
if(zahl == 5) {
heute = date + ". " + monatekurz[now.getmonth()] + ". " +(vierzeichen(now.getyear())) ;
}
document.write("" +heute);
}



Innerhalb eines Codebereiches kann ich hier im Editor keine zusätzliche Textformatierung anwenden, sonst hätte ich die Differenzen etwas hervorgehoben, aber ich nehme an, daß es auch so zu sehen ist.

Warum aber z.B.
function Datum(Zahl)
unberührt blieb, weiß ich auch nicht.

Es wird übrigens auch die Groß- Kleinschreibung in auskommentierten Zeilen verändert:
Code: Alles auswählen
//  :::::::: überwacht Maus-Position / plaziert die Box dementsprechend ::::::::
var isNav = (navigator.appName.indexOf("Netscape") !=-1);
function handlerMM(e){
x = (isNav) ? e.pageX : event.clientX + document.body.scrollLeft;
y = (isNav) ? e.pageY : event.clientY + document.body.scrollTop;
}
if (isNav){document.captureEvents(Event.MOUSEMOVE);}
document.onmousemove = handlerMM;

Nachher:

//  :::::::: überwacht maus-position / plaziert die box dementsprechend ::::::::
var isnav = (navigator.appname.indexof("Netscape") !=-1);
function handlermm(e){
x = (isnav) ? e.pagex : event.clientx + document.body.scrollleft;
y = (isnav) ? e.pagey : event.clienty + document.body.scrolltop;
}
if (isnav){document.captureevents(event.mousemove);}
document.onmousemove = handlermm;



Der Fehler bei den PHP-Variablen scheint mit dem Plugin-Update behoben zu sein.
Danke für die schnelle Reaktion. :D

Gruß
Inge
Scriptly Version: 0.8.95.6
Inge
Ambitioniertes Mitglied
 
Beiträge: 86
Registriert: 22.08.2010 13:08

Re: Tags in Kleinbuchstaben

Beitragvon Benedikt Loepp » 29.11.2010 18:55

Hi,
das Problem ist leider doch etwas tiefergehend - und dürfte auch für PHP nicht völlig behoben sein.
Das dahinterstehende Script stammt ursprünglich nicht von mir, und es ist wohl nie jemand auf die Idee gekommen, zu testen, was in HTML-Dateien mit JS- oder PHP-Inhalt passiert.
Problem ist, dass die Tags einzig anhand der spitzen öffnenden und schließenden Klammern erkannt werden - jedoch nicht als ganzes etwa mit einem regulären Ausdruck, sondern anhand der einzelnen Zeichen < und >.
Deshalb trat das Problem z.B. auch bei <? vom PHP-Tag auf. Das ist nun behoben. Allerdings tritt es immer noch anderen < auf, die überhaupt kein HTML-Tag kennzeichnen - schön zu erkennen daran, dass der fehlerhaft kleingeschriebene Teil bei deinem Code genau ab der < in dieser Zeile beginnt:
Code: Alles auswählen
var date = ((now.getDate()<10) ? "0" : "")+ now.getdate();

Ich kann also im Moment nur raten, dass Script mit großer Vorsicht zu benutzen, wenn es mehrere verschiedene Code-Abschnitte gibt und nicht nur reines HTML vorkommt. Langfristig werd ich aber versuchen, eine Lösung für das Problem in dem Script zu finden. Wenn sich jemand anders dazu berufen fühlt, kann er natürlich auch mal einen Blick hinein werfen :)

Schönen Gruß,
Benedikt Loepp
Benedikt Loepp
Administrator
 
Beiträge: 2729
Registriert: 17.06.2005 18:30
Wohnort: Lünen

Re: Tags in Kleinbuchstaben

Beitragvon Inge » 29.11.2010 20:57

Hallo Benedikt,

danke für Deine Info.

Gruß
Inge
Scriptly Version: 0.8.95.6
Inge
Ambitioniertes Mitglied
 
Beiträge: 86
Registriert: 22.08.2010 13:08


Zurück zu Bug-Report



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron