tinymce - TinyMCE 5 和媒体插件:删除(隐藏)“嵌入”选项卡(部分)而不影响其他组件/控件
问题描述
我正在使用具有以下配置的TinyMCE 5和媒体插件:
tinymce.init({
selector: "textarea",
menubar: false,
plugins: [
"media image",
],
toolbar: "media image",
media_dimensions: false,
media_alt_source: false,
media_poster: false,
images_upload_url: 'postAcceptor.php',
images_upload_handler: function (blobInfo, success, failure) {
setTimeout(function () {
success('http://moxiecode.cachefly.net/tinymce/v9/images/logo.png');
}, 2000);
},
});
有什么方法可以在不影响其他组件/控件的情况下删除(禁用、隐藏)“嵌入”选项卡(部分)?
我已经检查了媒体插件的文档,但没有任何内容......
此外,应用此 CSS:
<style>
.tox .tox-dialog__body-nav-item:nth-child(2) {
display: none;
}
</style>
隐藏媒体对话框上的“嵌入”选项卡,但它也隐藏其他对话框上的选项卡。例如,它还会隐藏图像对话框上的“上传”选项卡。
小提琴: http ://fiddle.tinymce.com/cwhaab
在 Github 上有一个“功能请求”:https ://github.com/tinymce/tinymce/issues/6082 ...但我正在寻找一种解决方法(直到这个新功能/选项可用)。
我正在使用 TinyMCE 5.4.2
解决方案
非常糟糕的代码警报!
不幸的是,没有任何干净的方法可以配置编辑器以使其按您的意愿工作。话虽如此,真正糟糕的方法是在执行媒体命令后通过选项卡列表过滤选项卡并隐藏任何包含文本Embed的选项卡。
看看这个游乐场演示:
tinymce.init({
selector: "textarea",
menubar: false,
plugins: [
"media image",
],
toolbar: "media image",
media_dimensions: false,
media_alt_source: false,
media_poster: false,
images_upload_url: 'postAcceptor.php',
images_upload_handler: function(blobInfo, success, failure) {
setTimeout(function() {
success('http://moxiecode.cachefly.net/tinymce/v9/images/logo.png');
}, 2000);
},
setup: function(editor) {
editor.on('ExecCommand', (event) => {
const command = event.command;
if (command === 'mceMedia') {
const tabElems = document.querySelectorAll('div[role="tablist"] .tox-tab');
tabElems.forEach(tabElem => {
if (tabElem.innerText === 'Embed') {
tabElem.style.display = 'none';
}
});
}
});
}
});
<form method="post" action="dump.php">
<textarea name="content"></textarea>
</form>
推荐阅读
- c# - 在 C# 中获取 ODATA 元素名称和数据类型或迭代 EdmCollectionType
- amazon-web-services - Python 时区仅使用 AWS Lambda 中可用的模块?
- python - Python计算字典中的副本
- java - “x 无法解析或不是字段”。我怎样才能解决这个问题?加工
- c# - 如何通过井字游戏中的按钮重置网格?
- javascript - JavaScript/jQuery:API 调用后清除数据
- glob - 文件夹或文件名中的全局模式匹配字符串
- android - Android 平台 - Gradle 构建失败 - 错误是什么意思
- r - R中的预测给出错误的预测数量
- swift - 具有符合 CaseIterable、RawRepresentable 的关联值的枚举