【问题标题】:Overriding the "Open" Menu Item in elFinder覆盖 elFinder 中的“打开”菜单项
【发布时间】:2013-03-11 00:29:56
【问题描述】:

我正在使用elFinder 访问网站上的一些存储文件,但这些文件本身不能直接访问。相反,我通过特定的控制器操作请求它们。所以我覆盖了 elFinder 中的 getFileCallback 以使用自定义 URL:

getFileCallback: function (file) {
    window.location.href = '@Url.Action("File", "Home")' + '?path=' + encodeURI(file);
}

这非常适合双击文件。但是,如果我只是选择文件并使用 elFinder 工具栏中的打开按钮,则不会使用此回调。相反,它会打开一个弹出窗口并尝试使用默认 URL,这会导致 404 错误。

有没有办法覆盖工具栏中“打开”按钮的行为?我一直在Client event APIcommands options 中尝试各种事情,但似乎找不到任何修改打开行为的东西。

有什么办法吗?

【问题讨论】:

    标签: elfinder


    【解决方案1】:

    我最终做的是完全覆盖 open 函数:

    elFinder.prototype.commands.open = function () {
        // custom code
    };
    

    (只需在加载 elFinder 代码后在 script 块中执行此操作即可。)

    我不能说它是否理想,如果对 elFinder 进行重大升级,则需要进行一些调整,但它绝对可以胜任。 (从这里开始,我还开始重写一些使用 URL 的其他函数,例如信息弹出窗口中的锚标记。)

    【讨论】:

    • 非常感谢您分享您的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2012-04-19
    • 1970-01-01
    • 2021-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-17
    • 2011-04-05
    相关资源
    最近更新 更多