gpt4 book ai didi

javascript - markdown深度图片上传

转载 作者:行者123 更新时间:2023-11-29 17:20:21 24 4
gpt4 key购买 nike

我正在使用 MarkDownDeep .它具有与 SO 类似的“插入图像”功能。

我想扩展此功能以使用 bootstrap modal这将允许用户上传他们自己的图像或至少得到一个 typeahead工作,以便用户可以选择从另一个页面上传的内容。

我尝试使用回调函数来替换下面的提示,但它不会像原始函数那样将 str 插入文本框。

pub.cmd_img = function (ctx) {
ctx.TrimSelection();
if (!ctx.CheckSimpleSelection())
return false;

imagePopUp(function(results) {

$("#" + ctx.m_textarea.id).focus();

var url = results;

if (url === null)
return false;

var alttext = ctx.getSelectedText();
if (alttext.length == 0) {
alttext = "Image Text";
}

var str = "![" + alttext + "](" + url + ")";

ctx.ReplaceSelection(str);
ctx.m_selectionStart += 2;
ctx.m_selectionEnd = ctx.m_selectionStart + alttext.length;
return true;
});
return false;

uploadImageUrl 是一个保持变量,因为目前我在模式中使用 iframe 以便用户可以上传,然后 iframe 设置 parent.uploadImageUrl

uploadImageUrl = "baz"; 
function imagePopUp(callback) {
$('#imageUpload').modal('show');

$('#confirmTrue').click(function () {
$('#imageUpload').modal('hide');

if (callback) callback(uploadImageUrl);
});
}

原创

 pub.cmd_img = function (ctx) {
ctx.TrimSelection();
if (!ctx.CheckSimpleSelection())
return false;

var url = prompt("Enter the image URL"); //need to change what this does

if (url === null)
return false;

var alttext = ctx.getSelectedText();
if (alttext.length == 0) {
alttext = "Image Text";
}

var str = "![" + alttext + "](" + url + ")";

ctx.ReplaceSelection(str);
ctx.m_selectionStart += 2;
ctx.m_selectionEnd = ctx.m_selectionStart + alttext.length;
return true;
};

你可以看到我的none-working fiddle

最佳答案

这应该可以解决问题:

pub.cmd_img = function(ctx){

ctx.TrimSelection();
if (!ctx.CheckSimpleSelection())
return false;

//call popup
imagePopUp(function(results){

$("#" + ctx.m_textarea.id).focus();

var url = results;
if (url === null)
return false;

var alttext = ctx.getSelectedText();
if (alttext.length == 0){
alttext = "Image Text";
}

var str = "![" + alttext + "](" + url + ")";
var editor = $(ctx.m_textarea).data("mdd");

editor.cmd_img_core = function(state){
state.ReplaceSelection(str);
state.m_selectionStart += 2;
state.m_selectionEnd = state.m_selectionStart + alttext.length;
return true;
};

editor.InvokeCommand("img_core");
delete editor.cmd_img_core;
});
return false;
};

关于javascript - markdown深度图片上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13398464/

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