在elFinder中禁用“打开”

时间:2013-01-17 00:39:36

标签: javascript asp.net-mvc-4 elfinder

有没有人知道如何禁用或以某种方式修改elFinder中的“开放”功能?

我在ASP.NET MVC站点中使用它,并为文件权限和诸如此类的东西添加了额外的服务器端过滤。因此用户无法直接访问文件,所有内容都必须通过提供elFinder的服务器端组件。因此,每当有人试图直接打开文件时,他们都会得到404响应。

有一些UX受此影响:

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

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

2 个答案:

答案 0 :(得分:2)

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

<强> $( '#取景器')。elfinder({

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

<强>});

答案 1 :(得分:0)

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

if(!file.read){

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

}

并放在这里:

返回false;