Olivier Miakinen a écrit :
sauf erreur de copier-coller,
SAM disait qu'un RegExp construit à partir d'une chaîne contenant '+\+'
ne plante pas sur Safari (et retourne même une valeur non nulle).
Je viens de re-vérifier :
javascript:alert(navigator.userAgent.match(RegExp(' AppleWebKit\/[^ ]+\+ ')));
dans mon Safari qui en est très content et me renvoie son Nom et N°
au lieu de faire "error" comme dans Fx
Sur mon Gecko (SeaMonkey 1.1.9), les deux premières des expressions
suivantes mises dans l'URL provoquent une erreur JavaScript qui empêche
même la fenêtre alert() de s'ouvrir :
tests Safari 2 :
1) javascript:alert("abbc abbb+c".match(RegExp('ab++c')));
abbc
2) javascript:alert("abbc abbb+c".match(RegExp('ab+\+c')));
abbc
3) javascript:alert("abbc abbb+c".match(RegExp('ab+\\+c')));
abbb+c
4) javascript:alert("abbc abbb+c".match(RegExp('a(?:b+)+c')));
abbc
5) javascript:alert("abbc abbb+c".match(RegExp('a(b+)+c')));
abbc,bb
voili, voilou,
et ça aide bien pour essayer de capter les RegExp quand les navigateurs les traitent à leurs sauces.
Avec tout ça je sais plus quel est le bon ! Ha! les 3 derniers.
Reste plus qu'à trouver mes fiches pour tenter de comprendre ce qu'ils font.
(Ha! Zutre ! je n'ai pas fait de fiches !)
--
sm