0

我在我运行的网站上设置了 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 前缀有关,但这似乎无关紧要。

我该如何解决这个问题?

4

2 回答 2

1

好吧,您可以尝试启用 MS 脚本调试器

于 2009-02-09T13:13:06.393 回答
0

答案原来是 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;

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

于 2009-02-10T07:49:29.470 回答