CLEditor - 添加 target="_blank"
CLEditor - adding target="_blank"
我已经与 CLEditor 争论了几个小时,试图实现一个简单的添加——添加 target="_blank" 选项复选框的可能性。
代码是这样的:
if (url != "") {
if ($("#blank").is(':checked')) {
editor.doc.execCommand("insertHTML", false, '<a href="' + url + '" target="_blank">' + selectedText(editor) + '</a>');
} else {
execCommand(editor, data.command, url, null, data.button);
}
// Reset the text, hide the popup and set focus
$text.val("http://");
hidePopups();
focus(editor);
}
它运行良好,除了一个奇怪的故障 - 我必须在添加 link WITH target="_blank" 后单击可编辑区域才能保存它。
我可以在 DOM 中看到新添加的 link 但是 - 如果我不单击该区域(任何地方) - 我将无法保存它。
我用 execCommand("insertHTML"..) 添加它,而没有 target="_blank" 的 links 是用 execCommand(editor, data.command, url, 空, data.button);并没有这样的问题。
什么会导致这样的问题?
没有 PHP 部分的整个事情:
https://jsfiddle.net/rzj0f334/
奇怪的解决方法,不能被视为正确的答案,但无论如何。我所做的是:
if ($("#blank").is(':checked')) {
editor.doc.execCommand("insertHTML", false, '<a href="' + url + '" target="_blank">' + selectedText(editor) + '</a>');
// copy all the editor's iframe HTML and send it to textarea (queer solution but that's all I was able to come up with)
var iframe_content = $('#666').contents().find("body").html();
$('#input').html(iframe_content);
} else {
execCommand(editor, data.command, url, null, data.button);
}
绝对不是最好的方法,但至少它有效。不过,我会很高兴有更好的解决方法。
我已经与 CLEditor 争论了几个小时,试图实现一个简单的添加——添加 target="_blank" 选项复选框的可能性。 代码是这样的:
if (url != "") {
if ($("#blank").is(':checked')) {
editor.doc.execCommand("insertHTML", false, '<a href="' + url + '" target="_blank">' + selectedText(editor) + '</a>');
} else {
execCommand(editor, data.command, url, null, data.button);
}
// Reset the text, hide the popup and set focus
$text.val("http://");
hidePopups();
focus(editor);
}
它运行良好,除了一个奇怪的故障 - 我必须在添加 link WITH target="_blank" 后单击可编辑区域才能保存它。 我可以在 DOM 中看到新添加的 link 但是 - 如果我不单击该区域(任何地方) - 我将无法保存它。
我用 execCommand("insertHTML"..) 添加它,而没有 target="_blank" 的 links 是用 execCommand(editor, data.command, url, 空, data.button);并没有这样的问题。
什么会导致这样的问题?
没有 PHP 部分的整个事情: https://jsfiddle.net/rzj0f334/
奇怪的解决方法,不能被视为正确的答案,但无论如何。我所做的是:
if ($("#blank").is(':checked')) {
editor.doc.execCommand("insertHTML", false, '<a href="' + url + '" target="_blank">' + selectedText(editor) + '</a>');
// copy all the editor's iframe HTML and send it to textarea (queer solution but that's all I was able to come up with)
var iframe_content = $('#666').contents().find("body").html();
$('#input').html(iframe_content);
} else {
execCommand(editor, data.command, url, null, data.button);
}
绝对不是最好的方法,但至少它有效。不过,我会很高兴有更好的解决方法。