【问题标题】:Textpattern's hak_tinymce plugin does not work in IETextpattern 的 hak_tinymce 插件在 IE 中不起作用
【发布时间】:2010-10-06 09:11:35
【问题描述】:

我在我运行的网站上设置了 Textpattern 的 hak_tinymce 插件,它在 Firefox、Chrome、Safari 和 Opera 中运行良好。但是,在 IE 中,内容区域是灰色的(例如,它不存在),并且 Javascript 失败并出现以下错误:

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; 
    SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; 
    Media Center PC 6.0)
Timestamp: Mon, 9 Feb 2009 11:35:09 UTC

Message: Invalid argument.
Line: 510
Char: 2
Code: 0
URI: http://www.example.com/textpattern/tinymce/tiny_mce.js

Firebug 没有给出错误。

我使用的是 tiny_mce.js 的非混淆版本,修订版 1.158:

// Must have a src element in MSIE HTTPs breaks aswell as absoute URLs
if (tinyMCE.isMSIE)
    iframe.setAttribute("src", this.settings['default_document']);

iframe.style.width = tinyMCE.settings['area_width'];
iframe.style.height = tinyMCE.settings['area_height']; // ** THIS LINE! **

// MSIE 5.0 issue
if (tinyMCE.isMSIE)
    replace_element.outerHTML = iframe.outerHTML;
else
    replace_element.parentNode.replaceChild(iframe, replace_element);

我不知道这是什么。我在网上能找到的唯一解释表明,这与在用于访问编辑器的 URL 中未使用 www 前缀有关,但这似乎无关紧要。

我该如何解决这个问题?

【问题讨论】:

    标签: javascript tinymce textpattern


    【解决方案1】:

    嗯,你可以试试enable MS script debugger

    【讨论】:

      【解决方案2】:

      结果证明是 hak_tinymce 中的错误,而不是 tinyMCE 本身。 hak_tinymce 使用值周围的引号指定 Javascript 数组中文本区域的高度,如下所示:

      somesetting: "somevalue",
      height:"420",
      

      当 tinyMCE 尝试对高度值进行算术运算时,它会以某种方式变成一个字符串,而它本应被视为一个整数。脚本调试器显示高度设置为“420-42”,我不知道如何。

      但是,在 hak_tinymce 中,在第 276 行和第 277 行之间添加以下内容是可行的:

      EOF;
      $js = preg_replace('/height:\"(\d+)\"/i', 'height:$1', $js); // added line
      return $js;
      

      这解决了正文和摘录文本区域的问题。

      【讨论】:

        猜你喜欢
        • 2015-02-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多