Пользовательская логика конвертера URL в TinyMCE - PullRequest
2 голосов
/ 16 августа 2011

С помощью TinyMCE можно определить собственную логику конвертера URL, как определено на этой странице . Используя обратный вызов url_converter, вы можете определить функцию JavaScript, которая будет обрабатывать преобразования URL. В документации упоминается, что в вашем пользовательском коде вы можете выполнять вызовы функции convertURL по умолчанию, чтобы в некоторых случаях использовать логику по умолчанию. Однако, похоже, что вызовы этой функции, в свою очередь, создают вызовы пользовательской функции и создают бесконечный цикл. Либо документация неверна, либо я неправильно воплощаю какие-либо идеи?

Это часть того, что я сейчас использую:

function myCustomURLConverter(url, node, on_save) {
    // just calls myCustomURLConverter again 
    var url = tinyMCE.activeEditor.Editor.prototype.convertURL(url, node, on_save);         
}

tinyMCE.init({
        urlconverter_callback : "myCustomURLConverter"
});

1 Ответ

2 голосов
/ 17 августа 2011

Похоже, решение - это взлом функции convertURL:

convertURL : function(u, n, e, x) {
    var t = this, s = t.settings;

    // Use callback instead
    if (!x && s.urlconverter_callback)
        return t.execCallback('urlconverter_callback', u, e, true, n);
    ......
}

Теперь, когда вы делаете свой собственный вызов convertURL, вы предоставляете true для последний (добавленный) параметр, 'x'. Это останавливает ваш пользовательский метод от вызов, когда он был там, где возник процесс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...