Au vu des résultats, IE passe donc bien dans le if comme prévu. En tout cas je sais maintenant quoi mettre dans les variables
bbopen et
bbclose pour tester. Donc si je comprends bien au vu du code que tu as mis, dans le premier cas sous IE4, tu n'as eu qu'un seul pop-up (celui marqué Valeur de bbopen: ; Valeur de bbclose : ) et sur le deuxième et le troisième cas tu en as eu deux d'affiché à la suite (celui des valeurs des variables comme sous IE4 + celui marqué "Passe dans IE4") ; c'est bien ça ?
Du coup si c'est ça c'est qu'au vu que l'
alert("Passe sous IE4") ne soit pas affiché c'est donc qu'il ne passe pas dans le
if (theSelection) { ... }. Dans ce cas c'est peut-être que la variable
theSelection est undefined et dans ce cas il faudrait la tester en insérant le code suivant dans le
if ((clientVer >= 4) && is_ie && is_win) { et avant le
if (theSelection) { :
if (typeof theSelection == 'undefined') {
alert("La variable theSelection n'est pas définie");
} |
Si ce pop-up s'affiche alors c'est que
theSelection = document.selection.createRange().text; qui pose problème.
S'il n'y a aucun pop-up ne s'affichent c'est que
if (theSelection) { n'est pas géré pas IE4 et dans ce cas il faudra le remplacer par
if (typeof theSelection != 'undefined') { |
Pour le reste je vais tester tout ça et je te redis ce qu'il en est.
EDIT : Bon alors j'ai fait quelques tests de débogage avec des var_dump dans tout ça et je me retrouve au final avec une variable theSelection undefined dans tous les cas. Ce qui me semble incompréhensible. Est-ce le cas chez toi BM ?
(Je précise que j'utilise theSelection = document.getSelection().text; pour définir la variable au lieu de theSelection = document.selection.createRange().text; comme initialement mis dans le script pour que cela fonctionne sous Firefox)
EDIT (2) : Au final ça marche avec la fonction
mozWrap() sous Firefox. Donc si tu as ce fameux problème de variable theSelection undefined, il faudrait voir si la fonction mozWrap marche sous IE4 en mettant ceci juste avant le
if (theSelection) { :
if (typeof theSelection == 'undefined') {
mozWrap(textarea, bbopen, bbclose);
return;
}
|