0

有人知道禁用或以某种方式修改 elFinder 中的“打开”功能的方法吗?

我在 ASP.NET MVC 站点中使用它,并为文件权限等添加了额外的服务器端过滤。所以用户不能直接访问文件,一切都必须通过提供 elFinder 的服务器端组件。因此,每当有人尝试直接打开文件时,他们都会收到 404 响应。

有几个 UX 部分受此影响:

  • 双击文件 - 我能够覆盖dblclickelFilder 事件,并且只需return false. 但是,这带来了无法双击文件夹打开它们的不良影响。
  • 单击“打开”菜单项 - 我尝试'open'从配置中删除该选项commands,但该选项仍然存在。许多其他项目是可移动的(重命名、上传、除了只读访问之外的任何内容,在这种情况下我拒绝用户访问),但这不是出于某种原因。
  • 单击“信息”弹出窗口中的链接。不知道如何解决这个问题。也许用一些模板自定义“信息”弹出窗口?

有没有人遇到过这个问题并提出任何新颖的解决方案?作为最后的手段,我并不反对修改 elFinder 的实际 JavaScript(如果我想升级 elFinder,这会使它在操作上更加痛苦)。

4

2 回答 2

3

添加getfilecallback的另一种方法如下:

$('#finder').elfinder({

    url : 'php/connector.php',
    getFileCallback : function(files, fm) {
            return false;
    }

});

于 2013-01-22T07:24:22.033 回答
0

从js/commands子目录复制open.js文件并将其粘贴到任何地方,然后将其包含在您的 html 文件中。现在在第 66 行编辑复制的open.js文件:

如果(!file.read){

    return dfrd.reject(['errOpen', file.name, 'errPerm']);

} ,

并放在这里:

返回假;

于 2013-01-22T07:05:50.807 回答