0

我已将 swf 文件放入我的公共文件夹(在 public/swf/ 下)有问题的 JS 是这样的:

$("#leave_requests").dataTable({
  "aaSorting": [],
  "sPaginationType": "bootstrap",
  "sDom": 'T<"clear">lfrtip',
  "oTableTools": {
      "sSwfPath": "/swf/copy_csv_xls_pdf.swf"
  }
});

我可以在日志中看到正在找到 swf 文件(大多数情况下),我在 200 中得到间歇性的 304:

2014-07-24T09:30:58.331085+00:00 heroku[router]: at=info method=GET path="/swf/copy_csv_xls_pdf.swf" host=demo.leaverequest.co.nz request_id=d217e1d2-a995-4b35-8db2-80dae532dd37 fwd="101.98.148.9" dyno=web.1 connect=1 service=1 status=304 bytes=1152

在视图中,我可以看到按钮,但单击它们什么也不做(打印除外,但这不是由 swf 控件处理的)。

编辑-我还可以看到相关dataTables和tableTools js的加载:

jquery.dataTables.js?body=1
/assets/dataTables
GET 304
Not Modified
jquery.dataTables.bootstrap.js?body=1
/assets/dataTables/bootstrap/3
GET 304
Not Modified
dataTables.tableTools.js?body=1
/assets/dataTables/extras
GET 304
Not Modified

更新编辑:如果您使用的是 jquery-datatables-rails,则不需要单独包含 ZeroClipboard。

4

1 回答 1

0

好的,我终于知道是什么导致了这个问题,非常感谢 Birgit Martinelle!您的提示让我真正查看了 js 文件。

我正在使用 jquery-datatables-rails gem,它在 dataTables.TableTools.js 中包含 ZeroClipboard.js 内容

根据我在 dataTables.net 网站上阅读的内容,我还分别包括 ZeroClipboard,删除它,一切正常。

我也用一些更具体的细节更新了这个问题

于 2014-09-09T09:19:02.623 回答