Javascript 防止TinyMCE/Internet Explorer将URL转换为链接
我使用TinyMCE为用户提供在textarea表单字段上设置简单文本格式(粗体、斜体、列表)的功能。除了在Internet Explorer中(8,但我读到它发生在早期版本),当用户键入URL(例如www.google.com)时,它会在TinyMCE编辑器中自动转换为HTML链接外,其他一切都正常工作。这在Firefox(3)中不会发生。我如何防止IE这样做 我已使用以下命令初始化TinyMCE:Javascript 防止TinyMCE/Internet Explorer将URL转换为链接,javascript,internet-explorer,drupal,tinymce,Javascript,Internet Explorer,Drupal,Tinymce,我使用TinyMCE为用户提供在textarea表单字段上设置简单文本格式(粗体、斜体、列表)的功能。除了在Internet Explorer中(8,但我读到它发生在早期版本),当用户键入URL(例如www.google.com)时,它会在TinyMCE编辑器中自动转换为HTML链接外,其他一切都正常工作。这在Firefox(3)中不会发生。我如何防止IE这样做 我已使用以下命令初始化TinyMCE: tinyMCE.init({ mode : "textareas", them
tinyMCE.init({
mode : "textareas",
theme : "simple",
convert_urls : false
});
但我不认为convert_URL会影响我所描述的行为:
我试过:
function myCustomURLConverter(url, node, on_save) {
return url;
}
tinyMCE.init({
mode : "textareas",
theme : "simple",
urlconverter_callback : "myCustomURLConverter"
});
但类似地,我认为这只是影响URL在加载/保存时如何/是否转换的一种方式,而不是阻止它们在用户键入时转换为链接:
我试图解决的问题至少在几个地方有描述:
(第三篇文章,作者:tommya)
以前有没有人见过这个问题,或者对如何解决它有什么建议?TinyMCE代码库非常大,很难跟踪,所以我希望有人能帮我隔离一下这个问题。似乎不是IE中禁用它的一种方法。它似乎是一种“功能”,而且也发生在FCKEditor上。在两个备选方案中,将元素从有效元素中移除 或者执行服务器端标记分析以删除它 我认为这可能是“特征” 这也许是一个让它工作的提示,但它看起来像ActiveX和VB,所以我在实验中很快就迷路了
这里有一个解决办法,需要粘贴插件。 在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' );
}
粘贴预处理:函数(pl,o){
//从剪贴板内容中剥离HTML标记(发生在Internet Explorer上)
o、 content=o.content.replace(/(\s[a-z]+=”)]+>([^我想我是这样解决的:
remove_script_host: "false",
relative_urls: "false",
document_base_url : "http//www.mywebsite.nlhttp://www.mywebsite.nl",
我已通过以下配置解决了此问题:
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 : '',
我想你已经尝试过这个答案:是的,我确实看到了。这篇文章中引用的代码自2006年以来发生了变化,所以不幸的是,它没有以前那么有用了。也就是说,如果我在引用的文件中通过JS,我可能可以禁用URL转换。不过Joelpitte在下面的答案中有一个快捷方式。我禁用了anch或者只允许在init:valid_元素中使用简单的格式化标记:“strong/b、em/i、p、br、ul、ol、li、strike”这并没有阻止IE进行初始转换,但至少它阻止了链接保存到数据库。感谢Joel的帮助!