IE11中的encodeURIComponent错误

时间:2016-08-08 15:37:55

标签: javascript ajax internet-explorer-11

我得到的错误并不是那么有用:

  

SCRIPT445:对象不支持此操作

投掷它的代码是

  $('#my-button').click(function(e){
    e.preventDefault();
    var link = document.createElement('a');
    link.href = 'http://www.example.com/'+encodeURIComponent(data.name);
    link.target = '_blank';
    if(document.createEvent){
      // for IE 11
      eventMouse = document.createEvent("MouseEvent");
      eventMouse.initMouseEvent("click",true,true,window,0,0,0,0,0,false,false,false,false,0,null);
    } else {
      eventMouse = new MouseEvent('click');
    }
    link.dispatchEvent(eventMouse);
  });

其中data.name是我从AJAX返回时返回创建此按钮的单击处理函数,并且是一个位置字符串,如“Nashville,TN”。该代码适用于Chrome& Firefox但在IE 11中断了。如果我删除+encodeURIComponent(data.name)它也可以在IE 11中正常工作,但这是一个重要的部分。微软的encodeURIComponent documentation也让我相信这个功能不应该在IE 11中造成任何问题。

0 个答案:

没有答案