Summernote 始终在新标签页中打开 link
Summernote always open link in new tab
当用户在 Summernote 中插入 link 时,它会让他们选择 link 是否应该在新标签页中打开。如何强制用户始终选择在新选项卡中打开 link?即使只是能够隐藏该选项也会很有用,因为我可以在服务器端添加 target="_blank"
。无论哪种方式,我一直在尝试很多事情,但我一直无法找到答案。
谢谢
我不熟悉 Summernote,API 中应该有一个选项可以禁用它,但如果您正在寻找快速解决方案,可以通过 CSS 定位该选项,然后隐藏它。
CSS 隐藏:
.note-editor .link-dialog .checkbox { display: none; }
不过我认为它将保持默认状态(未选中),要强制选中它,您需要 JavaScript。
强制检查 JavaScript:
document.querySelector('.note-editor .link-dialog .checkbox input').checked = true;
转到 summernote.js 文件并找到
$openInNewWindow.prop('checked', linkInfo.isNewWindow);
通过替换 linkInfo.isNewWindow.
将其强制设置为真
$openInNewWindow.prop('checked', true);
希望它能解决您的问题。
您可以使用 linkTargetBlank: false
选项来禁用复选框上的默认选中。
像这样:
$('.wysiwyg').summernote({
linkTargetBlank: false
});
查看 github 上的拉取请求:https://github.com/summernote/summernote/pull/2195
当您使用 Summernote v0.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);
});
当用户在 Summernote 中插入 link 时,它会让他们选择 link 是否应该在新标签页中打开。如何强制用户始终选择在新选项卡中打开 link?即使只是能够隐藏该选项也会很有用,因为我可以在服务器端添加 target="_blank"
。无论哪种方式,我一直在尝试很多事情,但我一直无法找到答案。
谢谢
我不熟悉 Summernote,API 中应该有一个选项可以禁用它,但如果您正在寻找快速解决方案,可以通过 CSS 定位该选项,然后隐藏它。
CSS 隐藏:
.note-editor .link-dialog .checkbox { display: none; }
不过我认为它将保持默认状态(未选中),要强制选中它,您需要 JavaScript。
强制检查 JavaScript:
document.querySelector('.note-editor .link-dialog .checkbox input').checked = true;
转到 summernote.js 文件并找到
$openInNewWindow.prop('checked', linkInfo.isNewWindow);
通过替换 linkInfo.isNewWindow.
将其强制设置为真$openInNewWindow.prop('checked', true);
希望它能解决您的问题。
您可以使用 linkTargetBlank: false
选项来禁用复选框上的默认选中。
像这样:
$('.wysiwyg').summernote({
linkTargetBlank: false
});
查看 github 上的拉取请求:https://github.com/summernote/summernote/pull/2195
当您使用 Summernote v0.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);
});