0

我们在 Internet Explorer 8 及更高版本中遇到了一个奇怪的问题。

我们的登录过程是使用 Javascript 处理的,该 Javascript 使用 AJAX 调用将隐藏参数传递给底层 servlet。

$j(document).ready(function() {
    console.log('loaded');
    $j(".show-login").click( function() {
        var id=this.id.split("_",1);
        $j(".options-drop-down").hide();
        $j(".all-options-buttons").removeClass("xyz-options-button-selected");
        $j(".all-options-buttons").addClass("xyz-options-button");
        $j("#"+id+"_login_options").show();
        $j("#"+this.id).removeClass("xyz-options-button");
        $j("#"+this.id).addClass("xyz-options-button-selected");
    }); 
});

由于无效登录,每次后续登录都会将我们抛出,变量在 servlet 中正确接收,但不知何故会话值不正确。

代码适用于 Firefox、Chrome 和 Safari。

4

1 回答 1

0

在尝试了很多方法来观察生成的随机 JSESSION id 之后,我们尝试清理 IE cookie、IE 历史记录、IE 临时文件,但没有采取任何措施来解决它。

我们观察到,每当我们打开 Internet Explorer 开发人员工具 (F12) 时,脚本都运行良好。

最后我们尝试从 javascript 中删除以下行

console.log('loaded');

并且脚本开始正常工作。

所以总结一下:

当 Internet Explorer 开发人员工具未运行时,在控制台对象上调用任何方法都会干扰正常的脚本执行

于 2013-04-12T15:24:43.627 回答