首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在target="_blank“中添加execCommand‘创意墨水’

在target="_blank“中添加execCommand‘创意墨水’
EN

Stack Overflow用户
提问于 2014-05-22 15:28:23
回答 6查看 18.3K关注 0票数 18

我试图创建一个自定义CMS的迷你WYSIWYG编辑器。它有添加和删除链接的选项。它可以很好地添加链接,但希望有将target="_blank"添加到超链接的选项。此外,如果可能的话,我希望能够添加alt=""title=""

目前,这是我的代码:

代码语言:javascript
运行
复制
function addLink() {
    var linkURL = prompt('Enter a URL:', 'http://');
    editorWindow.document.execCommand('createlink', false, linkURL);
}

四处张望,似乎找不到解决办法。我看到的大多数解决方案都说:

代码语言:javascript
运行
复制
function addLink() {
    var linkURL = prompt('Enter a URL:', 'http://');
    var newLink = editorWindow.document.execCommand('createlink', false, linkURL);
    newLink.target = "_blank";
}

但这似乎行不通。有什么建议吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2014-05-27 13:47:47

我找到了解决办法。不知道这是不是正确的方法,但它有效。遵循https://stackoverflow.com/a/5605841/997632,这是我的代码工作所用的:

代码语言:javascript
运行
复制
function addLink() {
    var linkURL = prompt('Enter a URL:', 'http://');
    var sText = editorWindow.document.getSelection();

    editorWindow.document.execCommand('insertHTML', false, '<a href="' + linkURL + '" target="_blank">' + sText + '</a>');
}

以防其他人发现这件事.

票数 25
EN

Stack Overflow用户

发布于 2016-05-04 16:38:43

如果您以前有粗体或斜体,insertHTML可能会感到沮丧。我使用以下方法:

代码语言:javascript
运行
复制
var url = 'example.com';
var selection = document.getSelection();
document.execCommand('createLink', true, url);
selection.anchorNode.parentElement.target = '_blank';

票数 9
EN

Stack Overflow用户

发布于 2017-08-01 21:43:35

我知道这个线程已经很旧了,但是让我把我的2分钱放进去,也许有人会发现这很有用;)我也在开发一个WYSIWYG编辑器,因为我发现当我试图从FF中的选定图像中创建一个链接( getSelection().getRangeAt(0)返回图像的父div并将图像当作它从来没有存在的时候(我就是这样看待它)),这是一个肮脏但有效的解决方案(而且,我认为,这是我想出的(JQuery)的想法:

代码语言:javascript
运行
复制
//somewhere before losing the focus:
sel = window.getSelection().getRangeAt(0);

//reselecting:
window.getSelection().addRange(sel);

//link:
document.execCommand('createLink', false, 'LINK_TO_CHANGE');
$('a[href="LINK_TO_CHANGE"').attr('target', '_blank');
//any other attr changes here
$('a[href="LINK_TO_CHANGE"').attr('href', theRealHref);

这主意好吗?就像一种魅力。而这种简单性^^

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23811132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档