2009-09-17 3 views
4

Я просто нашел решение одной из Вейрдест ошибки я когда-либо видел, и я все еще пытаюсь найти причину ...Не удается найти причину этой ошибки в моем ASP CMS

я получил старой CMS в классическом ASP. На странице редактора есть JavaScript меняется свойство изображения:

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

Один из моего клиента с использованием IE6 сказал мне, что, когда она спасала ее содержание на английском языке было перезаписывать ее содержимое на французском, но язык сохраняется в классический сеанс ASP, поэтому я начал исследовать ошибку (ни один из моих 200 других клиентов не получал такую ​​проблему), поэтому после тестирования снова и снова добавляя response.end в код и response.write моей сессии, чтобы узнать, где это изменилось, я узнал, что это было в самом javascript

Это часть, которую я не могу объяснить ... Мне пришлось поставить objimg.style.cursor = "arrow"; вначале в комментарии, чтобы понять, что после того, как эта строка отсутствовала, больше не было проблемы с моей сессией ASP.

После нескольких тестов я изменил objimg.style.cursor = "arrow"; на objimg.style.cursor = "pointer";, и все получилось очень хорошо. Мне было интересно, есть ли у кого-то такие проблемы раньше, и если кто-то может объяснить мне, как изменение курсора может повлиять на мою классическую сессию ASP на стороне сервера

Спасибо.

+0

Что вы подразумеваете под «когда она сохраняла свой контент на английском языке, это переписывало ее содержание на французском языке»? –

+0

означает, что в этом cms вы можете редактировать содержимое на английском языке, затем поменять на французский язык, редактировать содержимое для французской версии сайта и sava снова ... но сохранение на английском языке переписывало переменную сеанса на французский язык и перезаписывало французский контент в база данных с английской версией сайта –

ответ

6

Это ошибка в IE: когда он находит дается неверное значение, например, arrow, для cursor имущества сценария (хотя и не в CSS) это неправильно обрабатывает его, как если бы это были url(arrow) и попытки возьмите файл изображения с именем «стрелка», который, по его мнению, должен отображаться. Этот дополнительный HTTP-запрос отправляет любые файлы cookie, связанные со страницей, с которой он был сделан. Файлы cookie будут содержать cookie идентификатора сеанса ASP, и, вероятно, этот неожиданный и непоследовательный запрос каким-то образом повлиял на ваш код, связанный с сеансом.

(Кстати, если курсор должен быть обычным стрелочным курсором, то правильным является default; pointer - это указатель, связанный с зависанием по ссылке. Но, возможно, именно это и требовалось в первую очередь.)

+1

Источник ошибки IE? –

+0

@crescentfresh: к сожалению, я не могу вспомнить сейчас :-( – NickFitz

+0

@cresecentfresh (снова): я только что подтвердил это с помощью быстрого теста. Это происходит только тогда, когда свойство style.cursor устанавливается скриптом, а не в CSS. Поскольку я нахожусь на клиентском сайте, я не могу опубликовать демо, но я посмотрю, смогу ли я его написать и опубликовать в своем блоге позже (или, скорее всего, в выходные дни) :-) – NickFitz

Смежные вопросы