IE11中的jQuery函数未定义

时间:2017-05-20 10:06:31

标签: jquery function internet-explorer

我有一个主文件(script.js),其中$.getscript个命令连接所有脚本集。正在以下列方式加载此文件:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8;IE=edge;chrome=1">
<link rel="stylesheet" type="text/css" href="style.css">
<link rel="stylesheet" type="text/css" href="/js/jquery-ui-1.12.1/jquery-ui.min.css">
<script type="text/javascript" src="/js/jquery-3.1.1.min.js"></script>      
<script type="text/javascript" src="/js/jquery-ui-1.12.1/jquery-ui.min.js"></script>
<script src="/js/contextmenu/dist/jquery.ui.position.min.js" type="text/javascript"></script>
<script type="text/javascript" src="/js/script.js"></script>

主文件按以下顺序加载脚本:

$(document).ready(function(){
    $.getScript( "SITENAME/js/general.js", function(){});
    $.getScript( "SITENAME/js/admin.js", function(){});
    $.getScript( "SITENAME/js/building.js", function(){});
    $.getScript( "SITENAME/js/fight.js", function(){});
    $.getScript( "SITENAME/js/items.js", function(){});
    $.getScript( "SITENAME/js/locations.js", function(){});
    $.getScript( "SITENAME/js/stats.js", function(){});
    $.getScript( "SITENAME/js/trade.js", function(){});
    $.getScript( "SITENAME/js/bots.js", function(){});
    $.getScript( "SITENAME/js/chat.js", function(){});  
}); 

除了包含其他脚本正在使用的主要功能的general.js之外,几乎所有脚本都使用$(document).ready()激活。没有像$(document).ready()这样的加载条件,只是简单的函数声明,如:

function getData( val ){ 
    return $.when(
        $.ajax('SITENAME/ajax.php', {
            data: val,
            type: 'POST'
        })
    );
}

在Chrome和FF中,一切都运行良好,但在IE中则不然。当我尝试从fight.js调用getData()时,IE会抛出SCRIPT5009错误“getData is undefined”。

我确定已经加载了general.js(我在general.js中使用了alert('loaded')测试)。我试图通过<script>标记明确加载它,但这也不起作用。

为什么IE看不到该文件中的函数?

0 个答案:

没有答案