Запрет TinyMCE / Internet Explorer от преобразования URL-адресов в ссылки - PullRequest
6 голосов
/ 27 марта 2009

Я использую TinyMCE, чтобы предоставить пользователям возможность простого форматирования текста (жирный, курсив, списки) в поле формы textarea. Все работает правильно, за исключением того, что в 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 ]

3 голосов
/ 27 марта 2009

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

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

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

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

2 голосов
/ 26 сентября 2012

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

remove_script_host: "false",
relative_urls: "false",
document_base_url : "http//www.mywebsite.nlhttp://www.mywebsite.nl",
1 голос
/ 28 марта 2011

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

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, '$1$2' );
}
0 голосов
/ 10 апреля 2015

Я решил эту проблему с этими конфигами:

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 : '',
...