Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 防止TinyMCE/Internet Explorer将URL转换为链接_Javascript_Internet Explorer_Drupal_Tinymce - Fatal编程技术网

Javascript 防止TinyMCE/Internet Explorer将URL转换为链接

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为用户提供在textarea表单字段上设置简单文本格式(粗体、斜体、列表)的功能。除了在Internet Explorer中(8,但我读到它发生在早期版本),当用户键入URL(例如www.google.com)时,它会在TinyMCE编辑器中自动转换为HTML链接外,其他一切都正常工作。这在Firefox(3)中不会发生。我如何防止IE这样做

我已使用以下命令初始化TinyMCE:

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的帮助!