RegExp - Bug im Firefox ?
hyrocles
- javascript
Hallo @ll,
habe ein Problem welches eigentlich keines sein sollte ^^ aber dennoch is. Klingt komisch is aber so ^^
Ich versuche auf einen String ein replace von [Tab]-Zeichen zu machen. Im IE klappt alles nur im FF nicht. Habe mir auch nochmal Tuts und Beispiele im Netz gesucht alles ohne Erfolg.
Jetzt weiß ich nicht mehr weiter und bräucht evtl. mal nen Tipp oder ne kleine Denkhilfe.
so ruf ich es auf:
newContent = myContent.replace(new RegExp( "\t", "g"),' ');
myContent enthält einen String aus der Schleife:
for(var x in [Class]){
myContent = [Class][x].toString();
}
Freu mich über jede Hilfe oder Alternatieven...
mfg
hyrocles
Hi,
Im IE klappt alles nur im FF nicht.
"klappt nicht" ist ebenso nutzlos wie die Information, ...
myContent enthält einen String aus der Schleife:
for(var x in [Class]){
myContent = [Class][x].toString();
}
... dass der zu ersetzende String, ähm, ein String ist. Versuch's bitte zunächst mit einer Problembeschreibung.
Cheatah
Hi,
Im IE klappt alles nur im FF nicht.
"klappt nicht" ist ebenso nutzlos wie die Information, ...
Was gibt es den für Möglichkeiten?
Klappt/Klappt nicht/Computer stürzt ab?
Entweder der Firefox macht RegEx richtig oder falsch
Hi,
"klappt nicht" ist ebenso nutzlos wie die Information, ...
Was gibt es den für Möglichkeiten?
*un**end**lich* *viele*.
Entweder der Firefox macht RegEx richtig oder falsch
Oder er macht sie richtig, das Ergebnis wird aber vom OP falsch interpretiert. Um nur *eine* weitere Dimension aufzuzeigen.
Cheatah
Ersteinmal erkennst du schon daran, dass dein Code im IE "funktioniert" und nicht in Firefox, dass der Code falsch ist. ;)
Damit ich trotzdem versuchen kann zu helfen:
Welchen Sinn siehst du darin, Tabs zu ersetzen?
Das ist doch das Ziel oder?
Mfg
Ersteinmal erkennst du schon daran, dass dein Code im IE "funktioniert" und nicht in Firefox, dass der Code falsch ist. ;)
Damit ich trotzdem versuchen kann zu helfen:
Welchen Sinn siehst du darin, Tabs zu ersetzen?
Das ist doch das Ziel oder?Mfg
Hallo,
welcher sinn dahinter steckt ist doch nebensache. Wenn der Code falsch ist würde es mich freuen einen Hinweis auf das Problem zu bekommen. Ja ich möchte Tabs ersetzen.
es geht also tatsächlich ums prinzip?
nagut.
ich habe eben folgendes gebastelt und hoffe, dass es weiterhilft ...
<script>
var org_text = "spalte 1\tspalte 2";
var text = new Array();
for(i=0;i<org_text.length;i++) {
text.push(org_text[i]);
}
for(i=0;i<text.length;i++) {
if(text[i]=="\t") text[i] = "|";
}
alert(text.join(""));
</script>
sorry. ich muss mich gleich nochmal selbst korrigieren.
so ist es besser:
<script>
var org_text = "spalte 1\tspalte 2";
alert("Originaltext: " + org_text);
var text = new Array();
alert("Textlänge: " + org_text.length);
for(i=0;i<org_text.length;i++) {
alert("Push: " + org_text.charAt(i));
text.push(org_text.charAt(i));
}
for(i=0;i<text.length;i++) {
if(text[i]=="\t") text[i] = "|";
}
alert(text.join(""));
</script>
Ersteinmal erkennst du schon daran, dass dein Code im IE "funktioniert" und nicht in Firefox, dass der Code falsch ist. ;)
seit wann ist der Umstand, dass der IE irgendetwas wie erwartet macht, ein Indiz dafür, dass etwas richtig ist? Davon abgesehen ist "klappt nicht" in all seinen Varianten *nie* eine Problembeschreibung und somit auch niemals nützlich.
cheatah, les dir doch nochmal durch was ich geschrieben habe und dann nochmal deine antwort ...
ie macht etwas wie erwartet => code ist falsch
Hallo,
cheatah, les dir doch nochmal durch was ich geschrieben habe und dann nochmal deine antwort ...
ie macht etwas wie erwartet => code ist falsch
du hast den falschen Teil des Satzes in die Schlussfolgerung einbezogen.
Gemeint war:
Firefox macht etwas *nicht* wie erwartet => Code ist falsch
Diese Schlussfolgerung trifft in den meisten Fällen zu.[*]
Die Tatsache, dass der IE dennoch die Erwartungen des Autors erfüllt, ist dabei nebensächlich. Und die Beobachtung, dass Autoren das Verhalten des IE trotzdem als richtig empfinden, liegt meist an jahrelanger Gewöhnung an dessen Bugs oder Fehlverhalten.
So long,
Martin
[*] Ja, es gibt ein paar wenige Fälle, in denen der FF sich falsch verhält und der IE richtig(er). Ist aber selten.
Hi,
Ersteinmal erkennst du schon daran, dass dein Code im IE "funktioniert" und nicht in Firefox, dass der Code falsch ist. ;)
seit wann ist der Umstand, dass der IE irgendetwas wie erwartet macht, ein Indiz dafür, dass etwas richtig ist? Davon abgesehen ist "klappt nicht" in all seinen Varianten *nie* eine Problembeschreibung und somit auch niemals nützlich.
Cheatah
Hi Cheatah,
<html>
<head>
<script type="text/Javascript">
onload = function(){
var myContent = '';
_help = new test();
for(var x in _help){
myContent += _help[x].toString();
}
myContent = myContent.replace(new RegExp( "\t", "g"),' ');
myContent = myContent.replace(new RegExp( "\n", "g"),'<br>');
document.getElementById('fu').innerHTML = myContent;
}
test = function(){
this.hilfe = function(){
alert('hi ho');
}
}
</script>
</head>
<body>
<div id="fu"></div>
</body>
</html>
so wenn du die seite im ie aufrufst siehst du alles eingerückt im FF nicht ich hab FF Version 2.0.0.16
Hi,
so wenn du die seite im ie aufrufst siehst du alles eingerückt im FF nicht ich hab FF Version 2.0.0.16
*seufz* immer noch keine Analyse, keine Debug-Ausgaben, kein gar nichts ...
Wie kommst Du eigentlich auf die Idee, in dem String befänden sich irgendwelche Tabulatoren, die ersetzt werden könnten?
Cheatah
fürs bessere verständniss nochmal als HTML
<html>
<head>
<script type="text/Javascript">
onload = function(){
var myContent = '';
_help = new test();
for(var x in _help){
myContent += _help[x].toString();
}
myContent = myContent.replace(new RegExp( "\t", "g"),' ');
myContent = myContent.replace(new RegExp( "\n", "g"),'<br>');
document.getElementById('fu').innerHTML = myContent;
}
test = function(){
this.hilfe = function(){
alert('hi ho');
}
}
</script>
</head>
<body>
<div id="fu"></div>
</body>
</html>
Hi,
fürs bessere verständniss nochmal als HTML
prima. Und jetzt bitte noch die Problembeschreibung. Oder bezahlst Du mir eine Glaskugel?
Cheatah