私はMarkDownDeepで作業しています。SOと同様の「画像の挿入」機能があります。
この関数を拡張して、ユーザーが自分の画像をアップロードできるようにするブートストラップモーダルを使用するか、少なくともタイプアヘッドを機能させて、ユーザーが別のページからアップロードされたものを選択できるようにしたいと思います。
以下のプロンプトの代わりにコールバック関数を使用しようとしましたが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 = "";
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 = "";
ctx.ReplaceSelection(str);
ctx.m_selectionStart += 2;
ctx.m_selectionEnd = ctx.m_selectionStart + alttext.length;
return true;
};
あなたは私の動かないフィドルを見ることができます