web-dev-qa-db-ja.com

Quill JSに画像を追加する方法

http://quilljs.com/ の例のように画像を機能させる方法がわかりません。

追加してみました<span title="Image" class="ql-format-button ql-image"></span>ツールバーに追加すると、ボタンが追加されますが、ボタンをクリックしても何も実行されず、ドキュメントに何も見つかりません。なにか提案を?

15
kidcapital

更新された回答

バージョン1.0以降では、デフォルトで含まれているツールチップモジュールを追加する必要がなくなりました。それを有効にする方法の例はこれです。

    <script>
            var toolbarOptions = [
                ['bold', 'italic', 'underline', 'strike'],        // toggled buttons
                ['blockquote', 'code-block'],

                [{ 'header': 1 }, { 'header': 2 }],               // custom button values
                [{ 'list': 'ordered'}, { 'list': 'bullet' }],
                [{ 'script': 'sub'}, { 'script': 'super' }],      // superscript/subscript
                [{ 'indent': '-1'}, { 'indent': '+1' }],          // outdent/indent
                [{ 'direction': 'rtl' }],                         // text direction

                [{ 'size': ['small', false, 'large', 'huge'] }],  // custom dropdown
                [{ 'header': [1, 2, 3, 4, 5, 6, false] }],
                [ 'link', 'image', 'video', 'formula' ],          // add's image support
                [{ 'color': [] }, { 'background': [] }],          // dropdown with defaults from theme
                [{ 'font': [] }],
                [{ 'align': [] }],

                ['clean']                                         // remove formatting button
            ];

        var quill = new Quill('#editor', {
            modules: {
                toolbar: toolbarOptions
            },

            theme: 'snow'
        });
    </script>
13
Chris Hawkes

編集:1.0以降、これは正確ではなくなりました。 Chris Hawkesの answer は正しいです。

残念ながらこれはどこにも文書化されていないようですが、image-tooltipモジュールを含める必要があります。たとえば、これはquilljs.comホームページのエディターが使用するものです。

quill = new Quill('#editor', {
  modules: {
    'toolbar': { container: '#toolbar' },
    'image-tooltip': true,
    'link-tooltip': true
  },
  theme: 'snow'
});
10
jhchen

上記の答えはjsでは正しいですが、エディターにhtmlを追加する必要があります。例:

<span class="ql-format-group">
  <span title="Link" class="ql-format-button ql-link"></span>
  <span class="ql-format-separator"></span>
  <span title="Image" class="ql-format-button ql-image"></span>
</span>

だからそれをjsに入れて

quill = new Quill('#editor', {
  modules: {
    'toolbar': { container: '#toolbar' },
    'image-tooltip': true,
    'link-tooltip': true
  },
  theme: 'snow'
});
2
Andres Felipe

Quillバージョン1.3以降、上記の回答はどれも機能しなくなりました。残念ながら、公式ドキュメントもあまり進歩していません。

問題を解決する方法は2つあり、どちらも公式テーマSnowBubble。どちらの方法でも、次のコードを追加する必要はありません追加:

'image-tooltip': true,
'link-tooltip': true

方法1:次のようにクイルを初期化します。

var editor = new Quill('#editorDiv', 
{
    modules: {
      toolbar: [
            ...
            ['image'],
            ...
        ],
        //not needed anymore: 'image-tooltip': true,
        //not needed anymore: 'link-tooltip': true
        ...
    },
    ...
});

方法2:次のようにクイルを初期化します。

<div id="editorToolbarDiv">
  ...
  <button class="ql-image"></button>
</div>
<div id="editorDiv"></div>
var editor = new Quill('#editorDiv', 
{
    modules: {
        toolbar: '#editorToolbarDiv',
        //not needed anymore: 'image-tooltip': true,
        //not needed anymore: 'link-tooltip': true,
        ...
    },
    ...
});

バージョン1.3では、Quillは画像のサイズ変更をサポートしていません。ただし、カスタムモジュールでそれを行うことができます。

1
Anton