Javascript 文本模式';s hak_tinymce插件在IE中不起作用
我已经在我运行的一个网站上安装了Textpattern的hak_tinymce插件,它在Firefox、Chrome、Safari和Opera中运行良好。但是,在IE中,内容区域是灰色的(例如,它就是不在那里),Javascript失败,出现以下错误:Javascript 文本模式';s hak_tinymce插件在IE中不起作用,javascript,tinymce,textpattern,Javascript,Tinymce,Textpattern,我已经在我运行的一个网站上安装了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
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前缀有关,但这似乎无关紧要
我该如何解决这个问题呢?好吧,你可以试着去解决这个问题。答案是hak_tinymce中的一个bug,而不是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;
这解决了正文和摘录文本区域的问题