覆盖 elFinder 中的"Open"菜单项



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

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

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

是否有办法覆盖工具栏中打开按钮的行为?我一直在客户端事件API或命令选项中尝试各种事情,但似乎找不到任何修改打开行为的东西。

有什么办法可以做到吗?

我最终做的是完全重写open函数:

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

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

我不能说它是否理想,如果elFinder有重大升级,它将需要一些调整,但它肯定在做这项工作。(从这里开始,我也开始覆盖一些使用URL的其他函数,例如信息弹出框中的锚标记)

相关内容

  • 没有找到相关文章

最新更新