2009-03-26 2 views
6

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

Я инициализируется 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-адреса при загрузке/сохранении, а не для того, чтобы они не были преобразованы в ссылки как пользователь Тип s: http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/urlconverter_callback

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

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

+0

Я предполагаю, что вы Я попробовал этот ответ: http://tinymce.moxiecode.com/punbb/viewtopic.php?pid=15856#p15856 –

+0

Да, я это видел. Код, указанный в этом сообщении, изменился с 2006 года, так что, к сожалению, он не так полезен, как я был уверен. Тем не менее, если бы я перешел через JS в указанном файле, я мог бы отключить преобразование URL. joelpittet имеет ярлык в своем ответе ниже. – jlpp

ответ

3

Не похоже, что это можно отключить в 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

+0

Я отключил метки привязки, разрешив только теги форматирования в init: valid_elements: "strong/b, em/i, p, br, ul, ol, li, strike" Это не помешало IE сделать первоначальное преобразование, но по крайней мере оно предотвращает сохранение ссылки в базе данных. Спасибо за помощь Джоэл! – jlpp

1

Вот работающий обходной путь, требующий плагина для вставки. В вашем 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'); 
} 
2

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

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

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

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 : '', 
Смежные вопросы