0

我已经构建了一个应用程序,其中客户端脚本使用 JS 和 jQuery,而服务器端功能则使用基于 java 的应用程序。该网页在我的系统中的所有浏览器中都像一个魅力,但是,当我将它部署在具有相同 IE 版本的不同系统上时,我看到了奇怪的加载效果。

如,

在收到响应之前,AJAX 调用期间的加载图像不会显示为“活动”。这被卡住了,gif在其过程中的某个地方变成了jpeg;ajax resposne 被附加到同一页面底部的表单中,在一个新的 div 中,它在我的 IE9、FF20、CHR27 系统中按预期工作。这不适用于仅安装 IE 且无法负担其他浏览器的其他系统;

我曾尝试重置浏览器设置,但没有成功。我还尝试在 IE9 中使用开发人员工具做一些事情,[不知道它到底是什么,也许与调试有关!] 之后它仅以预期形式显示该会话的结果。

有人可以帮助我了解我应该对新系统的浏览器进行哪些更改才能使其正常工作吗?

谢谢你

编辑:

好吧,因为这段代码在一个系统上的同一版本的 IE 中工作,我希望代码不会有问题。但这里是一段代码,执行上面叙述的任务:

$(".button").click(function() {
    $('#checkmark').hide();

    var selectionModule = $("#currentSelectedValue").text();
    var channelName;
    var dataString = 'selection='+ selectionModule;

    if(selectionModule == 'About the APP!') 
    {
        $('#result_area').empty();
        $('#result_area').css('marginLeft', '250px');
        $('#result_area').css('marginRight', '250px');
        $('#result_area').load('read-me.html');

    }
    else if((selectionModule == 'Deployed Channels List') || (selectionModule == 'System pFlows'))
    {
        $('#result_area').empty();
        $('#result_area').css('marginLeft', '0px');
        $('#result_area').css('marginRight', '0px');

        channelName = 'NA';
        dataString += '&channelName=' + channelName;
        console.log(dataString);
        $.ajax({
            type: "POST",
            url: "http://localhost:9123/",
            data: dataString,
            beforeSend : function(){
                $('#checkmark1').show(); },
            success: function(result) {

                $('#result_area').html("<div id='message' style='display: table;'></div>");
                $('#message').html("<h2>"+selectionModule+":</h2>")
                $('#message').append("<p>"+result+"</p>")
                .hide()
                .fadeIn(1500, function() {
                    $('#checkmark1').hide();
                    $('#checkmark').show();
                });

            }
        });
    } 
    else if(selectionModule != 'Deployed Channels List')
    {

        $('#result_area').empty();
        $('#result_area').css('marginLeft', '0px');
        $('#result_area').css('marginRight', '0px');

        channelName = $("#cntext").val();
        dataString += '&channelName=' + channelName;
        //console.log(dataString);
        $.ajax({
            type: "POST",
            url: "http://localhost:9123/",
            data: dataString,
            beforeSend : function(){
                $('#checkmark1').show(); },
            success: function(result) {

                $('#result_area').html("<div id='message' style='display: table;'></div>");
                $('#message').html("<h2>"+selectionModule+" for Channel "+channelName+":</h2>")
                $('#message').append("<p>"+result+"</p>")
                .hide()
                .fadeIn(1500, function() {
                    $('#checkmark1').hide();
                    $('#checkmark').show();
                });

            }
        });
    }
    return false;
});
4

1 回答 1

0

好的,经过一番调查,我注意到我使用了 Console.log(); 在代码中的一个位置,这对于 IE 是未定义的。将以下行添加到我的 HTML 顶部后,AJAX 响应现在显示在表单底部的 div 中,并且不会在新页面上显示。

<script type="text/javascript"> if (!window.console) console = {log: function() {}}; </script> 

这只是解决了报告的两个问题之一。另一个关于 GIF not Animation 的问题在特定机器上的 IE9 中仍然存在问题。奇怪的是,它可以在另一个系统的 IE9 上完美运行。我会在这里发布任何有价值的发现。

感谢你目前的帮助。

于 2013-06-04T14:35:23.907 回答