【问题标题】:Disabling "Open" in elFinder在 elFinder 中禁用“打开”
【发布时间】:2013-01-17 00:39:35
【问题描述】:

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

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

有几个 UX 部分受此影响:

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

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

【问题讨论】:

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


    【解决方案1】:

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

    $('#finder').elfinder({

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

    });

    【讨论】:

    • 真的喜欢这个选项。它不需要修改工具,因此升级将是无缝的。这是一个受支持的选项(显然,我只是错过了一个)。最重要的是,filesfm 为我提供了我需要的所有信息,以便以完全不同的方式做出有意义的回应,这是我的下一个目标。谢谢!
    【解决方案2】:

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

    if (!file.read) {

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

    }

    并放在这里:

    返回假;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多