Запретить преобразование URL-адресов в ссылки в TinyMCE / Internet Explorer

Я использую TinyMCE для предоставления пользователям возможности простого форматирования текста (полужирный, курсив, списки) в поле формы textarea. Everthing работает правильно, за исключением Internet Explorer (8, но я читал, что это происходит в более ранних версиях), когда пользователи вводят URL (например www.google.com) он автоматически преобразуется в HTML-ссылку в Редакторе TinyMCE по мере ввода. Этого не происходит в Firefox (3). Как я могу предотвратить IE от этого?

Я инициализировал TinyMCE следующим образом:

tinyMCE.init({
    mode : "textareas",
    theme : "simple",
    convert_urls : false
 });

но я не думаю, что convert_urls предназначен для влияния на поведение, которое я описываю:http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/convert_urls

пробовал:

function myCustomURLConverter(url, node, on_save) {
    return url;
}

tinyMCE.init({
    mode : "textareas",
    theme : "simple",
    urlconverter_callback : "myCustomURLConverter"
 });

но точно так же я думаю, что это просто способ повлиять на то, как/преобразуются ли URL-адреса при загрузке/сохранении, а не препятствовать их преобразованию в ссылки как пользователей тип: http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/urlconverter_callback

проблема, которую я пытаюсь исправить, описана, по крайней мере, в нескольких местах: http://tinymce.moxiecode.com/punbb/viewtopic.php?id=2182&p=1 (третий пост, Томми) http://drupal.org/node/149511

кто-нибудь видел это раньше или есть какие-либо предложения о том, как исправить это? Кодовая база TinyMCE довольно большая и ее трудно отследить, поэтому я был надеюсь, кто-то может помочь мне немного изолировать проблему.

4 ответов


не похоже, что это способ отключить это в IE. Кажется, это "особенность", и это происходит на FCKEditor тоже. Несколько альтернатив, удалите элемент из допустимых элементов. http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/valid_elements

или выполните синтаксический анализ тега serverside, чтобы удалить его.

Я думаю, что это может быть "особенность" http://msdn.microsoft.com/en-us/library/aa769893 (VS.85).aspx

а вот может быть намек на то, чтобы заставить его работать, но он выглядел как ActiveX и VB, поэтому я довольно быстро потерялся в своем эксперименте http://www.mindfrost82.com/showpost.php?p=1114381&postcount=2


Я думаю, что решил это так:

remove_script_host: "false",
relative_urls: "false",
document_base_url : "http//www.mywebsite.nlhttp://www.mywebsite.nl",

вот рабочий обходной путь, нуждающийся в плагине вставки. В конфигурации TinyMCE init добавьте:

paste_preprocess : function(pl, o) {
    // Strip <a> HTML tags from clipboard content (Happens on Internet Explorer)
    o.content = o.content.replace( /(\s[a-z]+=")<a\s[^>]+>([^<]+)<\/a>/gi, '' );
}

Я решил эту проблему с помощью этих конфигураций:

remove_script_host : false,
auto_cleanup_word : false,
relative_urls : false, 
convert_urls : false,
verify_html : false,
convert_newlines_to_brs : false, 
urlconvertor_callback: "convLinkVC",
document_base_url : "",
forced_root_block : '',