Summernoteで画像のアップロードを完全に無効にする方法はありますが、画像のURL入力は保持しますか?私が見つけた最も近いものはdisableDragAndDrop: true
オプション、ただしこれは画像ポップアップからアップロードボタンを削除しません
おそらく、目的を達成するためのより良い方法があります...しかし、頭に浮かぶ非常に簡単な解決策は、これをスタイルシートに追加するだけです:
.note-group-select-from-files {
display: none;
}
画像のURL入力だけを残すように完全に機能し、誰かが要素を検査して、アップロード要素が表示なしでまだ存在することを発見しない限り、目的を達成します。
編集:Summernoteのソースコードを見てみたところ、上記のソリューションは実際には良い方法だと思われます。現在、ファイルアップロードボタンのみを無効にするAPIはありません。もちろん、img url入力をそのままにして無効にします。もちろん、いつでも追加してプルリクエストを開くことができます。
var body = '<div class="form-group note-group-select-from-files">' +
'<label>' + lang.image.selectFromFiles + '</label>' +
'<input class="note-image-input form-control" type="file" name="files" accept="image/*" multiple="multiple" />' +
imageLimitation +
'</div>' +
'<div class="form-group" style="overflow:auto;">' +
'<label>' + lang.image.url + '</label>' +
'<input class="note-image-url form-control col-md-12" type="text" />' +
'</div>';
ツールバーを上書きし、そこで独自のボタンセットを定義できます。サンプルコードスニペットを次に示します。
$("#summernote").summernote({
height: 300,
toolbar: [
[ 'style', [ 'style' ] ],
[ 'font', [ 'bold', 'italic', 'underline', 'strikethrough', 'superscript', 'subscript', 'clear'] ],
[ 'fontname', [ 'fontname' ] ],
[ 'fontsize', [ 'fontsize' ] ],
[ 'color', [ 'color' ] ],
[ 'para', [ 'ol', 'ul', 'paragraph', 'height' ] ],
[ 'table', [ 'table' ] ],
[ 'insert', [ 'link'] ],
[ 'view', [ 'undo', 'redo', 'fullscreen', 'codeview', 'help' ] ]
]
});
このコードは、ビデオおよび画像の挿入オプションなしで、他のすべてのオプションを使用できるツールバーを生成します。詳細なAPIドキュメントを確認できます here 。
Summernote.jsでこのコードを見つける
tplDialog = function (lang, options) {
var tplImageDialog = function () {
return '<div class="note-image-dialog modal" aria-hidden="false">' +
'<div class="modal-dialog">' +
'<div class="modal-content">' +
'<div class="modal-header">' +
'<button type="button" class="close" aria-hidden="true" tabindex="-1">×</button>' +
'<h4>' + lang.image.insert + '</h4>' +
'</div>' +
'<div class="modal-body">' +
'<div class="row-fluid">' +
'<h5>' + lang.image.selectFromFiles + '</h5>' +
'<input class="note-image-input" type="file" name="files" accept="image/*" />' +
'<h5>' + lang.image.url + '</h5>' +
'<input class="note-image-url form-control span12" type="text" />' +
'</div>' +
'</div>' +
'<div class="modal-footer">' +
'<button href="#" class="btn btn-primary note-image-btn disabled" disabled="disabled">' + lang.image.insert + '</button>' +
'</div>' +
'</div>' +
'</div>' +
'</div>';
};
このコードを削除してください:
'<h5>' + lang.image.selectFromFiles + '</h5>' +
'<input class="note-image-input" type="file" name="files" accept="image/*" />' +
これで、ファイルアップロード入力がモーダルダイアログから削除されます。
Jqueryを使用これは私のために働いた
$('div.note-group-select-from-files').remove();
または(dwildaが示唆するように)削除を試みる前に要素が存在することを確認したい場合:
var imageUploadDiv = $('div.note-group-select-from-files');
if (imageUploadDiv.length) {
imageUploadDiv.remove();
}
Summernote.jsでこのコードを削除して見つけたコードを少し読んだ後、そのアップロード機能が削除されます
上記の回答のいずれかが機能しないため、ファイルからこのフォームを削除するだけです
'<div class="form-group note-form-group note-group-select-from-files">' +
'<label class="note-form-label">' + lang.image.selectFromFiles + '</label>' +
'<input class="note-image-input form-control note-form-control note-input" '+
' type="file" name="files" accept="image/*" multiple="multiple" />' +
imageLimitation +
'</div>' +