0

私が運営している Web サイトに 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

The answer turned out to be a bug in hak_tinymce, not in tinyMCE itself. hak_tinymce specifies the height of the text area in a Javascript array using quotes around the value, like this:

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

When tinyMCE tries to do arithmetic on the height value, it somehow turns into a string, when it should have been treated as an integer. The script debugger revealed the height being set to "420-42", I did not figure out how.

However, in hak_tinymce, adding the following between line 276 and 277 works:

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

This fixes the problem both for the body and excerpt textareas.

于 2009-02-10T07:49:29.470 に答える