我在我运行的网站上设置了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-prefix有关,但似乎并不重要。
我该如何解决这个问题?
答案 0 :(得分:1)
好吧,你可以尝试enable MS script debugger
答案 1 :(得分: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;
这解决了身体和摘录textareas的问题。