在ckeditor中显示链接

时间:2013-10-08 16:28:06

标签: asp.net asp.net-mvc ckeditor ckfinder

我通过引用他们网站的文档整合了CKEditor和CKFinder。

在那里,我成功上传了不同类型的文档,pdf和图像。但每次上传文档时,生成的链接都是

/Project_folder/files/0321832051(3).pdf

但我必须只显示文件名,并且该文件应该有一个链接。  例如0321832051(3).pdf 当我点击该链接时,它应该是打开的。 我在谷歌搜索但我没有得到它的解决方案。有没有人尝试过。如果有人知道,请告诉我。

为此,我使用ckeditor和ckfinder asp.net

有没有人知道这个?

4 个答案:

答案 0 :(得分:3)

在下面的黑客中将“editor1”替换为您的编辑器名称,或者在加载CKE js后攻击您拥有的任何系统。它的作用是监听对话框关闭,当它看到链接对话框被隐藏并且当前选择以<a...>链接开始时,它将获取所述链接的内容并从最终斜杠中删除它。 / p>

var editor = CKEDITOR.instances.editor1;

editor.on('dialogHide', function(e) {
    if(e.data.getName() === "link") {
        var sel = editor.getSelection();
        var se = sel.getStartElement();
        var text = se.getText();
        if(se.getName() === "a") {
            var newtext = text.slice(text.lastIndexOf('/')+1);
            se.setText(newtext);
        }
    }     
});

它既复杂又恶心,但似乎有效。 请注意,我没有测试过它,如果它打破其他任何东西,如锚定。更多检查会更好,例如检查newtext是否实际获得值&gt; 1然后才更换。

答案 1 :(得分:0)

我认为你应该手动将它们包装在html PREVIEW中作为

`<a href='/folder/uploaded_files/abc.pdf'>SomeText</a>.`

应该做的伎俩

答案 2 :(得分:0)

使用CKEDITOR,你可以这样做:

string mytext = "hello world :)";
CKEDITOR.instances.editor1.insertHtml( '<a href="mylink">' + mytext + '</a>' );

答案 3 :(得分:0)

使用CKEDITOR,您也可以使用style

这样做
var attributes = Array();
attributes["href"] = link;   //your link
var style = new CKEDITOR.style( { element : 'a', attributes : attributes } );
style.type = CKEDITOR.STYLE_INLINE;
style.apply(editor.document);