Javascript Summernote始终在新选项卡中打开链接
当用户插入带有Summernote的链接时,用户可以选择是否在新选项卡中打开该链接。如何强制用户始终选择在新选项卡中打开链接?即使只是能够隐藏该选项也很有用,因为我可以在服务器端添加Javascript Summernote始终在新选项卡中打开链接,javascript,html,css,summernote,Javascript,Html,Css,Summernote,当用户插入带有Summernote的链接时,用户可以选择是否在新选项卡中打开该链接。如何强制用户始终选择在新选项卡中打开链接?即使只是能够隐藏该选项也很有用,因为我可以在服务器端添加target=“\u blank”。不管怎样,我已经尝试了很多事情,但我还没有找到答案 谢谢我不熟悉Summernote,API中应该有一个选项来禁用它,但是如果您正在寻找快速解决方案,可以通过CSS将该选项锁定并隐藏 CSS隐藏: .note-editor .link-dialog .checkbox { dis
target=“\u blank”
。不管怎样,我已经尝试了很多事情,但我还没有找到答案
谢谢我不熟悉Summernote,API中应该有一个选项来禁用它,但是如果您正在寻找快速解决方案,可以通过CSS将该选项锁定并隐藏 CSS隐藏:
.note-editor .link-dialog .checkbox { display: none; }
document.querySelector('.note-editor .link-dialog .checkbox input').checked = true;
然而,我认为它将保持默认状态(未选中),要强制检查它,您需要JavaScript
使用JavaScript强制检查:
.note-editor .link-dialog .checkbox { display: none; }
document.querySelector('.note-editor .link-dialog .checkbox input').checked = true;
转到summernote.js文件并查找
$openInNewWindow.prop('checked', linkInfo.isNewWindow);
通过替换linkInfo.isNewWindow强制将此设置为true
$openInNewWindow.prop('checked', true);
希望它能解决您的问题。您可以使用
linkTargetBlank:false
选项禁用复选框上的默认复选框
像这样:
$('.wysiwyg').summernote({
linkTargetBlank: false
});
查看github上的pull请求:当您使用Summernotev0.8.11时,只需转到Summernote.js文件并将
isNewWindow:true
设置为true,而不是$openInNewWindow.is(':checked')
。在6219线附近
$openInNewWindow.prop('checked', isNewWindowChecked);
$linkBtn.one('click', function (event) {
event.preventDefault();
deferred.resolve({
range: linkInfo.range,
url: $linkUrl.val(),
text: $linkText.val(),
isNewWindow: $openInNewWindow.is(':checked') // change this
});
_this.ui.hideDialog(_this.$dialog);
});
@ZachPanzarino您可以创建一个JSFIDLE或共享一个用于调试的实时演示吗?我一直在使用summernote的自定义配置,因此类是不同的。我已经弄明白了。这是唯一的办法吗?或者是有一个配置设置吗?我必须在行的上方添加“/@ts ignore”…summernote({…)以使typescript的类型检查愉快。