在我的ASP CMS中找不到此错误的原因

时间:2009-09-17 15:15:19

标签: javascript session asp-classic coding-style cursor

我刚刚找到了一个我见过的最奇怪的错误之一的解决方案,我仍在努力找到原因......

我在Classic ASP中有一个旧的CMS。在编辑器页面中有一个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.write中找到了response.end以找出它在哪里发生变化我发现它是在javascript本身中

这是我无法解释的部分......我不得不放objimg.style.cursor = "arrow";在评论中首先意识到,一旦该线出来,我的ASP会话就没有问题了。

然后经过几次测试后我将objimg.style.cursor = "arrow";更改为objimg.style.cursor = "pointer";并且效果很好。我想知道之前是否有人遇到过这种问题,如果有人能向我解释如何更改光标会影响我的服务器端经典ASP会话

谢谢。

1 个答案:

答案 0 :(得分:6)

这是IE中的一个错误:当发现被脚本给予arrow属性的无效值(例如cursor时(尽管不在CSS中)它错误地将其视为url(arrow),并尝试获取它认为应该显示的名为“箭头”的图像文件。此附加HTTP请求将发送与创建它的页面关联的任何cookie。 Cookie会包含ASP会话标识符cookie,可能这个意外和无序请求会以某种方式影响与会话相关的代码。

(顺便说一下,如果光标应该是通常的箭头光标,正确的值是default; pointer是与悬停在链接上相关联的光标。但也许这就是首先想要。)