Internet Explorer未解析javascript方法

Internet Explorer未解析javascript方法,javascript,html,internet-explorer,Javascript,Html,Internet Explorer,我有一个带有过滤功能的网页。过滤使用一个javascript文件,该文件链接在标题中,如下所示: 文件内容定义了自动标记方法: var autotag = { filter: function(container, resetPage = true){ if(resetPage) $('#filter-page').val('1') var form = $('#'+container); var action = form.attr('ac

我有一个带有过滤功能的网页。过滤使用一个javascript文件,该文件链接在标题中,如下所示:


文件内容定义了自动标记方法:

var autotag = {
filter: function(container, resetPage = true){
    if(resetPage)
        $('#filter-page').val('1')

    var form    = $('#'+container);
    var action  = form.attr('action');
    var method  = form.attr('method');
    var data    = form.serialize()+'&method=ajax';

    $.ajax({
      url: action,
      data: data,
      method:method,
      success: function(response, status, xhr){
        history.pushState(null,null, window.location.pathname+'?'+form.serialize());
        $('#'+container).html(response);
      }
    });
 }
};
在我的html正文中,我有以下html:


在Chrome和Firefox中,这不会导致任何问题。另一方面,IE抛出“未定义自动标记”错误。为什么IE会考虑AutoTAG变量未定义?

<代码>
<script type="text/javascript" defer="defer" src="https://www.werkenbijtauw.nl/static/default/script/autotag.js"></script>


将脚本标记放在文档底部……就在结束标记之前。。。。或者为头部中需要等待DOM解析完成的脚本添加一个defer属性。将脚本标记放在文档底部…就在结束标记之前。。。。或者向头部中需要等待DOM解析完成的脚本添加一个defer属性。谢谢。虽然这并没有解决我的问题,但它帮助我找到了问题。Internet Explorer未正确解析设置了默认值的函数。所以
函数(someValue,someBoolean=true){if(someBoolean){}
是IE 11解析得不太好的东西。因此,我最终将方法更改为
函数(someValue,someBoolean){if(someValue==null | | someValue)}
另一个技巧:设置IE以记录开发人员控制台消息。。。工具>Internet选项>高级选项卡,选中“始终记录开发人员控制台消息”。。。保存更改。。。。。要调试页面加载期间发生的错误。。。f12>调试选项卡,从下拉列表中选择“所有异常中断”(看起来像停止标志)。。。将开发工具固定到IE!重要信息:调试时必须打开开发工具。按ctrl+f5以硬刷新正在调试的页面。。。当遇到错误时,开发工具现在将中断。。。通常(当开发工具未打开时)脚本异常会被忽略。谢谢。虽然这并没有解决我的问题,但它帮助我找到了问题。Internet Explorer未正确解析设置了默认值的函数。所以
函数(someValue,someBoolean=true){if(someBoolean){}
是IE 11解析得不太好的东西。因此,我最终将方法更改为
函数(someValue,someBoolean){if(someValue==null | | someValue)}
另一个技巧:设置IE以记录开发人员控制台消息。。。工具>Internet选项>高级选项卡,选中“始终记录开发人员控制台消息”。。。保存更改。。。。。要调试页面加载期间发生的错误。。。f12>调试选项卡,从下拉列表中选择“所有异常中断”(看起来像停止标志)。。。将开发工具固定到IE!重要信息:调试时必须打开开发工具。按ctrl+f5以硬刷新正在调试的页面。。。当遇到错误时,开发工具现在将中断。。。通常(当开发工具未打开时)忽略脚本异常。