【问题标题】:TinyMCE Image URL selectTinyMCE 图像 URL 选择
【发布时间】:2025-12-13 11:10:01
【问题描述】:

我已经为 TinyMCE 编写了自己的图片上传器,但我遇到了一个难题:如何选择要在 TinyMCE advimage 弹出窗口的“图片 URL”字段中显示的图片?

当我单击“图像 URL”字段旁边的按钮时,我的图像上传器会在另一个弹出窗口中打开。所以我需要从我的弹出窗口中获取图像 url 并将其插入该字段的另一个弹出窗口中。我可以很容易地得到路径,但我不知道如何将它插入到其他地方。

有什么想法吗?

【问题讨论】:

    标签: file-upload tinymce


    【解决方案1】:

    我正在使用 jQuery 构建,这是我在自定义文件浏览器中使用的部分代码:

    $('.my-image').click(function() {// Change this to your event/selector
    
        var $src = $(this).val();// Change this to whatever the image path is
        if ( ! $src) return false;
    
        // Find the iframe within the popup
        var $input = $(window.top.document)
        .find('iframe[src*="advimage/image.htm"]')
        .contents()
        .find('input#src');
    
        // Trigger the preview and fill in the image dimensions
        $input.val($src).change();
    
        return false;
    });
    

    也许不是最优雅的解决方案,但它多年来一直为我工作。希望这会有所帮助。

    【讨论】:

    • 嘿嘿嘿,这就是我提交问题后的想法!不过,我有一个问题:window.top.document 的代码返回相同的窗口,而不是带有图像字段的窗口:(哦..顺便说一句:我使用的是弹出窗口,而不是 iframe。
    • 好吧,我还在为对话框窗口使用 jQuery UI,所以 iframe 实际上是顶部窗口的一部分。你必须调整它以适应你的具体情况——这主要是为了给你一个想法,让你知道这当然是可能的。我个人的实现真的被骗了,所以我给了你一个 sn-p。无需定位 iframe,只需定位表单所在的任何元素。您还需要在选择完成后关闭弹出窗口。
    • 好的,我刚刚加载了 'inlinepopups' 插件,然后砰!它起作用了:) 现在我需要弄清楚如何关闭我的小弹出窗口。你也知道这方面的技巧吗?
    • 要关闭您的自定义对话框?如果没有看到代码,我将不知道。试试$(my_popup_element).remove()
    • 是的,这行得通,但我正在考虑触发“x”上的点击事件,但当我这样做时没有任何反应。 mouseup 也不做任何事情。奇怪......知道关闭操作绑定是什么事件吗?是的,我正在使用正确的元素。
    最近更新 更多