下载excel文件在Firefox中不起作用,但在Chrome中可用

我正在尝试下载一个onclick事件的Excel文件。 它允许我下载Excel中的文件,而不是在Firefox中。 不知道是什么问题。 我得到以下错误。

ReferenceError: event is not defined 

以下是我的JavaScriptfunction

 function hyperlinkFn(){ var htmlTbl=""; var htmlTbl1=""; var string = event.target.parentElement.name; var tempString=[]; var temp= new Array(); for(var i=0;i<string.length;i++){ if(string[i]=="|"){ temp.push(tempString); tempString=[]; }else{ tempString+=string[i]; } } userStoryModalRelease = temp[0]; userStoryModalPID = temp[1]; userStoryModalPrjName = encodeURIComponent(temp[2]); userStoryModalTeam = encodeURIComponent(temp[3]); userStoryAltId=encodeURIComponent(temp[4]); userStoryModalStatus = temp[5]; userStoryModalTeam = userStoryModalTeam.replace(", ", ","); var uri="getUserStoryDetails.htm?release=" + userStoryModalRelease + "&projectId=" + userStoryModalPID + "&projectName=" + userStoryModalPrjName + "&team=" + userStoryModalTeam + "&alternateId=" + userStoryAltId + "&view=" + storyView; var encode = encodeURI(uri); window.location = encode; 

}

HTML代码,我在数据表中调用这个函数

  { title : "Total Points", data : function(data, type, row, meta) { return data.totalSum+'<a name="'+ data.releaseNum +'|'+ data.projectId +'|'+ data.projectName +'|'+ data.team + '|'+ data.altId + '|total|'+'" onclick="hyperlinkFn()">' + '<i class="fa fa-file-excel-o font-size-15 " title="Click here to export details " aria-hidden="true"></i></a>'; }, className : "center storypoint yellow_fill pos-rel" } ], 

改变你的click绑定,如下所示,这样的事件将工作:

 $(document).on('click', '.classname', function(event){ var htmlTbl=""; var htmlTbl1=""; var string = event.target.parentElement.name; var tempString=[]; var temp= new Array(); for(var i=0;i<string.length;i++){ if(string[i]=="|"){ temp.push(tempString); tempString=[]; }else{ tempString+=string[i]; } } userStoryModalRelease = temp[0]; userStoryModalPID = temp[1]; userStoryModalPrjName = encodeURIComponent(temp[2]); userStoryModalTeam = encodeURIComponent(temp[3]); userStoryAltId=encodeURIComponent(temp[4]); userStoryModalStatus = temp[5]; userStoryModalTeam = userStoryModalTeam.replace(", ", ","); var uri="getUserStoryDetails.htm?release=" + userStoryModalRelease + "&projectId=" + userStoryModalPID + "&projectName=" + userStoryModalPrjName + "&team=" + userStoryModalTeam + "&alternateId=" + userStoryAltId + "&view=" + storyView; var encode = encodeURI(uri); window.location = encode; }) 

注意:从超链接中删除onclick事件并在超链接上添加class ,并用.classnamereplaceclass

看起来这已经在这里覆盖了: ReferenceError:事件在Firefox中没有定义错误

WebKit遵循IE的“事件”使用全局符号的旧行为,但Firefox不。 当你使用jQuery时,这个库规范了行为,并确保你的事件处理程序传递了事件参数。

function hyperlinkFn(){需要变成function hyperlinkFn( event ){