我正在开发一个使用MarkDown和WMD
javascript工具的网站,这些工具目前适用于已托管的图像,但我希望能够在WMD中提供图像上传工具,根据Stack Overflow,但不知道如何解决这个问题.
有谁知道这是如何实现的?我的网站正在开发中,使用ASP.NET MVC,我很好的服务器端上传图像等,但它是如何将其挂钩到javascript WMD编辑器(可能是它的AJAX元素)我我坚持住了.
解决方法
我们最近发布了我们的重构版WMD;你可以在
http://code.google.com/p/pagedown/找到它.
现在,Stack Overflow的一些非标准用法都是通过插件钩子进行的,这包括我们的文件上传器.所以你可以使用相同的钩子来实现它.看看documentation; “挂钩”部分归结为:
editor.hooks.set("insertimageDialog",function (callback) { var dia = createMyDialog(); dia.find(".ok-button").click(function () { var url = getChosenImageUrl(); removeMyDialog(); callback(url); }); dia.find(".cancel-button").click(function () { removeMyDialog(); callback(null); }); return true; // tell the editor not to show the standard dialog });
至于实际上传,我们目前使用一个非常丑陋的解决方案,其工作原理如下:
>实际的文件上传表单将其目标属性设置为隐藏的iframe,因此提交表单不会将您发送到其他页面.
>在全局对象上定义了一个删除对话框并调用回调的函数.这是丑陋的部分;这个方法不过是干净的,但它运行正常.
>上传控制器操作返回一个最小的HTML文档,其中包含一段调用此函数的JavaScript代码(通过window.parent,因为我们必须打破iframe – 请注意,这需要上传URL与page!)与新创建的图像的地址.
如果您要以类似的方式实现此功能,请查看at this post on Meta Stack Overflow,了解可能出现的令人讨厌的Chrome错误,以及解决方法.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。