JQuery数据表中的TableTools导出不起作用

Posted

技术标签:

【中文标题】JQuery数据表中的TableTools导出不起作用【英文标题】:TableTools export in JQuery Datatables not working 【发布时间】:2015-07-04 20:07:08 【问题描述】:

我已经为此苦苦挣扎了两天。我已经在数据表论坛上发帖,但没有得到任何回复,所以我希望这里的社区可以提供帮助。 我在这里阅读过有关此问题的类似帖子,但正如许多帖子所建议的那样,我已经在使用正确的 sSwf 路径。

出现导出按钮并加载所有资源。但是,单击按钮没有任何作用。控制台上没有错误。

<script>
$(document).ready(function() 
    $('#example').DataTable( 
        dom: 'T<"clear">lfrtip',
        tableTools: 
            "sSwfPath": "http://cdn.datatables.net/tabletools/2.2.2/swf/copy_csv_xls_pdf.swf"
            
     );
 );
</script>

这是我的代码的 JSFiddle: http://jsfiddle.net/h2bof5cr/2/

【问题讨论】:

【参考方案1】:

您的代码正确且与TableTools example 匹配。该问题与加载外部 SWF 文件有关,当代码加载到 &lt;iframe&gt;(如在您的 JSFiddle example 中)或使用 file:// 协议从计算机上的文件加载时,由于安全限制,它不起作用。

解决方案是将您的代码上传到网络服务器,它应该可以在没有任何更改的情况下运行。

或者,如果您希望它在您的计算机上本地工作,您需要使用copy_csv_xls_pdf.swf 的相对路径。例如,将copy_csv_xls_pdf.swf 与您的页面一起保存并使用"sSwfPath": "copy_csv_xls_pdf.swf"

【讨论】:

这几乎是正确的。即使按照您的建议在本地添加文件也没有运行 .swf 的正确权限。在本地加载文件时,使用 Macromedia“全局安全设置面板”并选择始终允许有效。谢谢你的回答!

以上是关于JQuery数据表中的TableTools导出不起作用的主要内容,如果未能解决你的问题,请参考以下文章

使用 Tabletools 从 jquery 数据表导出时,隐藏的列名丢失

jQuery dataTables - TableTools:导出时隐藏行和列

DataTables JS / TableTools JS - 导出和打印

jQuery DataTables TableTools Export - 获取复选框或单选项目的值

在 Datatables Tabletools 中从导出中排除列

使用单元格颜色导出 jQuery 数据表数据