是否可以使用wmd编辑器添加一个按钮,让用户将图像上传到Web服务器并将相应的img markdown放在文本框中?如果没有,另一位优秀的现场编辑会这样做吗?上下文:我使用的是asp.net mvc,C#,我是javascript的真正初学者。
答案 0 :(得分:1)
简要阅读WMD似乎表明此功能不是直接支持的,并且控件不是特别可插拔的。
话虽如此,没有什么可以阻止你创建一个按钮/上传字段/无论是什么将图像发送到你的服务器并注入适当的:
<img src="http://your.server.com/path/to/attachments/..." />
进入控件的底层textarea。
答案 1 :(得分:1)
以下是WMD附带的最小示例的变体:
<!DOCTYPE html>
<html>
<head>
<title>WMD minimal example</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
<script type="text/javascript">
$.fn.insertAtCaret = function (myValue) {
return this.each(function(){
//IE support
if (document.selection) {
this.focus();
sel = document.selection.createRange();
sel.text = myValue;
this.focus();
}
//MOZILLA/NETSCAPE support
else if (this.selectionStart || this.selectionStart == '0') {
var startPos = this.selectionStart;
var endPos = this.selectionEnd;
var scrollTop = this.scrollTop;
this.value = this.value.substring(0, startPos)
+ myValue
+ this.value.substring(endPos,
this.value.length);
this.focus();
this.selectionStart = startPos + myValue.length;
this.selectionEnd = startPos + myValue.length;
this.scrollTop = scrollTop;
} else {
this.value += myValue;
this.focus();
}
});
};
int i = 50;
function Add()
{
$("#myTextarea").insertAtCaret("![alt text][" +(i++)+"]");
// You'll need to add the link too, at the bottom
}
</script>
</head>
<body>
<form>
<a href="javascript:Add()">test</a>
<textarea id="myTextarea" style="width: 500px; height: 200px;">*This* is a minimal example.</textarea>
</form>
<div class="wmd-preview"></div>
<script type="text/javascript" src="wmd/wmd.js"></script>
</body>
</html>
但这只是你可能会说的开始。 This markdown编辑看起来更好
答案 2 :(得分:0)
我写了一篇blog post来解释我是如何解决这个问题的。在帖子中,我使用PHP - 如果您愿意将我的PHP逻辑转换为ASP.NET,您可能会觉得它很有用!