gpt4 book ai didi

javascript - 如何为 CKFinder 创建重命名后或删除后事件 Hook ?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:02:20 25 4
gpt4 key购买 nike

如果文件在 CKFinder 中被删除或重命名,我需要编辑内容并通知用户各种事情。我想我可以创建一个 JavaScript 解决方案,然后使用一些简单的 AJAX 将逻辑卸载到后端,就像这样:

CKFinder.on('successfulFileRename', function(event, oldpath, newpath) {
// Contact backend, see where file was used, inform user etc etc
});

可惜,我找不到任何事件系统。我将如何为 CKFinder 实现此功能?我需要的事件是文件/文件夹 - 重命名/删除/移动。它不一定是前端解决方案,但为了简单起见,我更喜欢它。我的后端是 ASP.net MVC3。

(欢迎将 CKF 的替代方案作为评论,但它们需要与其具有的功能大致相同的功能。)

最佳答案

遍历 documentation我也找不到像扩展点这样的任何事件。

但是通过查看一些源代码我发现了 sendCommandPost metho d 在 CKFinder.dataTypes.Connector 上,每次需要将某些内容发送到服务器时都会调用它。因此,在文件/文件夹等每个重要事件上 - 重命名/删除/移动。

因此您可以轻松创建自定义插件,您可以在其中访问 CKFinderAPI实例,您可以从那里覆盖 sendCommandPost 并添加自定义逻辑

CKFinder.addPlugin( 'myplugin', function( api ) {
var orginalsendCommandPost = api.connector.sendCommandPost;
api.connector.sendCommandPost = function() {

// call the original function
var result = orginalsendCommandPost.apply(this, arguments);

// commandname as string: 'CreateFolder', 'MoveFiles', 'RenameFile', etc
console.log(arguments[0]);
// arguments as object
console.log(JSON.stringify(arguments[1]));

return result;
}
} );

并注册插件:

config.extraPlugins = "myplugin";
var ckfinder = new CKFinder( config );

关于javascript - 如何为 CKFinder 创建重命名后或删除后事件 Hook ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19539233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com