2009-09-17 6 views
4

Je viens de découvrir que j'ai jamais vu une solution à l'un des plus étrange bug et je suis toujours essayer de trouver la raison ...Vous ne trouvez pas une raison pour ce bogue dans mon ASP CMS

Je suis un ancien CMS en ASP classique. Dans la page de l'éditeur il y a JavaScript changer une propriété d'image:

function removeimg(objimg){ 
    objimg.onclick = ""; 
    objimg.src = "/Logiciel/_Altitude_image/interface/Gestion_acces/spacer.gif"; 
    objimg.width = 16; 
    objimg.style.cursor = "arrow"; 
} 

un de mes clients en utilisant IE6 m'a dit que quand elle sauvait son contenu en anglais, il a été écrasant son contenu en français, mais la langue est enregistrée dans une session ASP classique donc j'ai commencé à enquêter sur le bogue (aucun de mes 200 autres clients ont eu ce genre de problème) donc après avoir testé encore et encore mettre response.end dans le code et response.write de ma session pour savoir où était en train de changer, j'ai découvert qu'il était dans le javascript lui-même

Ceci est la partie que je ne peux pas expliquer ... Je devais mettre objimg.style.cursor = "arrow"; dans un commentaire au début de se rendre compte qu'une fois cette ligne était là il n'y avait plus de problème avec ma session ASP.

Ensuite, après quelques tests, j'ai changé objimg.style.cursor = "arrow"; à objimg.style.cursor = "pointer"; et cela a très bien fonctionné. Je me demandais si quelqu'un avait ce genre de problème auparavant, et si quelqu'un pouvait m'expliquer comment changer un curseur pouvait affecter ma session ASP classique côté serveur

Merci.

+0

Que voulez-vous dire par "quand elle sauvegardait son contenu en anglais, elle écrasait son contenu en français"? –

+0

signifie que dans ce cms vous pouvez éditer puis le contenu en anglais puis swap en français éditer le contenu pour la version française du site et sava encore ... mais l'enregistrement en anglais a été la réinitialisation de la variable de session en français et en écrasant le contenu français la base de données avec la version anglaise du site –

Répondre

6

Il y a un bug dans IE: quand il trouve est donné une valeur non valide, comme arrow, pour la propriété cursor par un script (mais pas en CSS), il traite de manière incorrecte comme si elle était url(arrow) et les tentatives de récupère le fichier image nommé "arrow" qu'il croit devoir afficher. Cette requête HTTP supplémentaire enverrait tous les cookies associés à la page à partir de laquelle elle a été faite. Les cookies incluraient le cookie d'identifiant de session ASP, et il est probable que cette requête inattendue et hors séquence affectait en quelque sorte votre code lié à la session. (Par ailleurs, si le curseur est censé être le curseur fléché habituel, la valeur correcte est default; pointer est le curseur associé au survol d'un lien, mais c'est peut-être ce qui était recherché en premier lieu.)

+1

Source du bogue IE? –

+0

@crescentfresh: malheureusement, je ne me souviens pas maintenant :-( – NickFitz

+0

@cresecentfresh (encore): Je viens de le confirmer avec un test rapide, cela n'arrive que lorsque la propriété style.cursor est définie par script, pas en CSS. Comme je suis sur un site client, je ne peux pas poster la démo, mais je verrai si je peux avoir le temps de l'écrire et de l'afficher sur mon blog plus tard (ou plus probablement le week-end) :-) – NickFitz

Questions connexes