$ (...). wikiEditor не является функцией - PullRequest
0 голосов
/ 19 июня 2020

Я попытался настроить панель инструментов с помощью пользовательского скрипта, следуя руководству на MediaWiki.org ; однако, иногда , когда я загружаю его из своего common.js, я получаю эту ошибку в своей консоли:

jQuery.Deferred exception: $(...).wikiEditor is not a function TypeError: $(...).wikiEditor is not a function
    at quickMAR_add (https://en.moegirl.org/index.php?title=User:Leranjun/quickMAR.js&action=raw&ctype=text/javascript:52:19)
    at https://en.moegirl.org/index.php?title=User:Leranjun/quickMAR.js&action=raw&ctype=text/javascript:60:12
    at mightThrow (https://en.moegirl.org/load.php?debug=false&lang=en&modules=jquery%2Cmediawiki&only=scripts&skin=vector&version=1o54dq6:49:598)
    at process (https://en.moegirl.org/load.php?debug=false&lang=en&modules=jquery%2Cmediawiki&only=scripts&skin=vector&version=1o54dq6:50:269) undefined

Что еще более странно, так это то, что иногда это работает, а иногда нет ... И это всегда работает, если я копирую / вставляю код в консоль и выполняю его вручную.

Исходный код здесь , если необходимо.

1 Ответ

0 голосов
/ 21 июня 2020

Вам нужно подождать, пока панель инструментов будет готова:

mw.hook( 'wikiEditor.toolbarReady' ).add( function ( $textarea ) {
    $textarea.wikiEditor(...);
} );

Метод , описанный на странице документации, на которую вы ссылаетесь , менее элегантен, но также будет работать.

...