table2excel.js怎么兼容火狐IE

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了table2excel.js怎么兼容火狐IE相关的知识,希望对你有一定的参考价值。

table2excel.js怎么兼容火狐IE

1、table2excel插件的属性
exclude:不被导出的表格行的CSS class类。
name:导出的Excel文档的名称。
filename:Excel文件的名称。
exclude_img:是否导出图片。
exclude_links:是否导出超链接
exclude_inputs:是否导出输入框中的内容
2、浏览器支持
在ie11,Firefox,Google上进行测试:
在IE11和Firefox上面导出时,filename: “myExcelTable.xls”该属性必须带后缀,否则会导出一个无后缀的文件;在Google上没有该问题,会下载一个后缀为.xls的文件
参考技术A fullTemplate += e.template.foot;
var value=table[0];
for (i in table)
e.ctx["table" + i] = table[i];

delete e.ctx.table;
if (typeof Blob !== "undefined")
//use blobs if we can
fullTemplate = [fullTemplate];
//convert to array
var fullStr="\""+fullTemplate.toString()+"\"";
fullStr=fullStr.replace("table0",value);
var full=new Array(fullStr);
var blob1 = new Blob(full, type: "text/html" );
window.navigator.msSaveBlob(blob1, getFileName(e.settings) );
参考技术B 1、table2excel插件的属bai性
exclude:不被导出du的表格行的CSS class类。zhi
name:导dao出的Excel文档的名zhuan称。
filename:Excel文件的名称。
exclude_img:是shu否导出图片。
exclude_links:是否导出超链接
exclude_inputs:是否导出输入框中的内容
2、浏览器支持
在ie11,Firefox,Google上进行测试:
在IE11和Firefox上面导出时,filename: “myExcelTable.xls”该属性必须带后缀,否则会导出一个无后缀的文件;在Google上没有该问题,会下载一个后缀为.xls的文件

IE和火狐兼容常见问题

文章转自http://www.cnblogs.com/asqq/archive/2013/03/09/3194994.html

1,document.form.item/document.ID

IE中 document.formName.item(”itemName”)
FF中 document.formName.elements["elementName"]
建议使用document.getElementById(itemName)

2, 下标运算

IE中 document.forms(”formName”)
FF中 document.forms["formName"]
IE中 document.getElementsByName(”inputName”)(1)
FF中 document.getElementsByName(”inputName”)[1]

建议使用[]作为下标运算
3,window.event
IE中 可以使用window.event
FF中 event 只能在事件发生的现场使用,可以改写成 事件=函数(event);

function somemethod(evt) {
evt = evt ? evt : (window.event ? window.event : null);
alert(evt);
}

例如: <input onclick=somemethod(event)>
4,event.x 与 event.y 问题
IE中,event 对象有 x, y 属性
FF中,可用event.clientX ,event.clientY替代(IE也有该属性)
也可用:mX = event.x ? event.x : event.pageX;
5,操作frame
IE中 可以用window.FrameName取得该frame,FF中不行
FF中 可以用window.top.document.getElementById(”frameId”)来访问frame
注:IE和FF都可以通过window.top.document.getElementById(”Frame”).src = ’somefile.htm’来切换frame的 内容,也都可以通过window.top.frameName.location = ’somefile.htm’来切换frame的内容
6,调用showModalDialog
IE中可以用showModalDialog一个子窗口,并获得返回值.
FF中没有showModalDialog,但可以用window.open来实现.
例如:
在Main.cfm文件中有如下代码:

复制代码
function ShowItemList(Obj){
if (document.all){//IE
var ReturnValue=window.showModalDialog(”ItemList.cfm?Id=341″,”self”,”dialogwidth:500px;status:false”);
if (typeOf(ReturnValue)!=’undefined’){
Obj.value=ReturnValue;
}
}
else{
var subwin=window.open(Item.cfm?id=341,’newWin’,\'modal=yes,width=500px’);
}
}
function ReturnValue(ReturnValue){
Obj=document.getElementById(’elementname’);
Obj.value=ReturnValue;
}
复制代码

如果需要得到返回值.需要用到window.open的参数modal=yes,而且必须在子窗口中向母窗口传值(window.opener). 例如在subwin.cfm中加入以下代码:

function ReturnThisValue(){
window.opener.ReturnValue(document.getElementById(’SelectedItem’).value);
}

7,其它
a, 在FF中,自定义的属性必须使用getAttribute()
b, FF中没有 parentElement parement.children 而用parentNode parentNode.childNodes,可以使用 node.getElementsByTagName()
c, FF不支持onpropertychange事件
d, FF中 createElement不支持HTML代码,可以考虑用:document.write(esHTML);
e, IE 中innerText ,在FF中可以用textContent
f, FF下用class代替IE下的className
g, 如果FF调用obj.focus(); 报错,请尝试改为:window.setTimeout( function(){ obj.focus(); }, 0);
h, firefox不支持 FILTER
i, IE: blur发生在focus后,FF: blur发生在focus前调用
j. IE:event.keyCode=====FF:event.which

复制代码
function catcathevent(evt)
{
evt = evt ? evt : (window.event ? window.event : null);
if (document.all){
var keyvalue=evt.keyCode;
}
else{
var keyvalue=evt.which;
}
复制代码

k. 设置容器位置 left、top及长宽,必须加上’px’,如 $(’obj’).style.left = ‘50px’;
l.在FF地址栏中输入about:config,会出现火狐的参数配置设置

 
 

以上是关于table2excel.js怎么兼容火狐IE的主要内容,如果未能解决你的问题,请参考以下文章

chorme浏览器,网站后台编辑器不显示怎么办?

如何在谷歌浏览器中设置兼容性视图

exchange server 2010 OWA 附件功能只支持IE浏览器

firefox出现乱码是为啥

webbrowser用的是IE内核,可以修改成用火狐内核吗

h5 移动端怎么导出excel,PC端jquery.table2excel.js插件可以实现,移动端就无法实现了。求答案