gpt4 book ai didi

javascript - 将 CKFinder 与 InnovaStudio 所见即所得编辑器集成

转载 作者:行者123 更新时间:2023-11-28 10:32:50 26 4
gpt4 key购买 nike

我使用InnovaStudio WYSIWYG Editor ,我正在尝试将 InnovaStudio 的 Assets 管理器替换为 CKFinder 。编辑器配置中有一行用于指定 Assets 管理器使用的 URL。我已将其指向 CKFinder。我无法开始工作的部分是使用 CKFinder 中双击文件的路径填充该字段。

它似乎使用“func”参数来指定回调函数。我调用的网址是:/common/ckfinder/ckfinder.html?action=js&func=setAssetValue

InnovaStudio WYSIWYG 编辑器提供了 setAssetValue(v) 回调函数来设置字段值。 v 参数应包含 URL。

CKFinder 在调用时会按预期弹出,但双击缩略图或使用上下文菜单中的“选择”选项都不起作用。正常/预期的行为是 CKFinder 关闭,并且目标字段将填充所选 Assets 的 URL。

<小时/>

其他信息:InnovaStudio WYSIWYG 编辑器有一个“弹出窗口”,用于将图像或 Flash 文件添加到内容中。该弹出窗口位于 iframe 中。当它调用 CKFinder(或其自己的 Assets 管理器)时,它也在 iframe 中。看来 CKFinder 正在主窗口的范围内查找,而不是实际包含需要填充的字段的图像/flash iframe。

最佳答案

(某种)解决方案

通过使用 Firebug 挖掘 DOM,我发现 InnovaStudio 创建了一个 ISWindow 对象,在其中放置对其生成的窗口的引用。我修改了回调函数以循环该对象并为适当的 iframe 调用 setAssetValue() 函数。这有效,但 CKEditor 仍然没有自行关闭。我认为这是因为它不“知道”如何关闭它所在的 iframe。 有没有办法告诉 CKFinder 如何关闭它所在的窗口?我可以想象使用 iframe 会很有用的其他情况。

我更喜欢让 CKFinder 使用 iframe 显示,但我最终使用标准 CKFinder 弹出窗口让一切正常工作。

编辑器配置行: oEdit1.cmdAssetManager = "parent.BrowseServerIS();";

支持功能:

// InnovaStudio WYSIWYG Editor version
function BrowseServerIS()
{
// You can use the "CKFinder" class to render CKFinder in a page:
var finder = new CKFinder();
// The path for the installation of CKFinder (default = "/ckfinder/").
finder.BasePath = '/common/ckfinder/';
// Name of a function which is called when a file is selected in CKFinder.
finder.SelectFunction = SetFileFieldIS;
// Launch CKFinder
finder.Popup();
}

// InnovaStudio WYSIWYG Editor version
function SetFileFieldIS(fileUrl, data)
{
for (var i in ISWindow.objs) {
if ((null != ISWindow.objs[i].rt.frm.contentWindow)
&& ('function' == typeof ISWindow.objs[i].rt.frm.contentWindow.setAssetValue)) {
ISWindow.objs[i].rt.frm.contentWindow.setAssetValue(fileUrl);
}
}
}

关于javascript - 将 CKFinder 与 InnovaStudio 所见即所得编辑器集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2579062/

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