プロジェクト

全般

プロフィール

Backport(バックポート) #2370

完了

IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)

Yuma Sakata さんが約13年前に追加. 約13年前に更新.

ステータス:
Fixed(完了)
優先度:
High(高め)
担当者:
対象バージョン:
開始日:
2011-08-22
期日:
進捗率:

100%

予定工数:

説明

概要

TinyMCE (tiny_mce) の文字装飾機能について、IE9 ではプレビューモードが正常に動作しない。なお、この問題は OpenPNE 2 でも発生する。

  • 太字・斜体のような文字装飾ボタンを押しても装飾が機能しない
  • 文字色パレット・絵文字パレットは表示されるが、色や絵文字を選んで押下しても装飾が反映されない
  • テキストモードに戻せない
  • 文字の表示サイズが他のブラウザ(IE8 など)に比べて小さい

これらは後述する原因によるものであり、よりマクロな問題は「IE9 で文字装飾機能(TinyMCE)が動作しない」というものである。

IE9のスクリプトデバッグモードを使用した際に表示されるエラー

OpenPNE 3 の場合、テキストモード→プレビューモードの切替時に以下のエラーが表示される。

SCRIPT438: オブジェクトは 'recalc' プロパティまたはメソッドをサポートしていません。 
tiny_mce.js, 行 1 文字19997

このエラーが表示された直後にブラウザがフリーズするため、文字装飾ボタンをクリックした場合などのエラーは確認していない。

(蛇足)OpenPNE 2 の場合は上と同じタイミングで以下のエラーが表示される。

SCRIPT438: オブジェクトは 'parentElement' プロパティまたはメソッドをサポートしていません。 
tiny_mce.js?r7140, 行 1 文字37913

対象バージョン

OpenPNE 3 系の全てのバージョン。

この問題は TinyMCE 側にあり、 IE9 独自の問題に対応したバージョンの TinyMCE を用いていないことが OpenPNE でこの問題が生じる原因である。ただし OpenPNE 側にも問題があるので併せて修正する。

修正方針

2009年10月14日に OpenPNE-3.1.4 で TinyMCE-3.2.7 が組み込まれている( e24edf33 )。 TinyMCE-3.2.7 では IE9 に対応しておらず、上記のような問題が生じる。

2011年8月現在、 TinyMCE は 3.4.4 が最新版として公開されており、このリリースまでに IE9 に対する修正がいくつか取り込まれている。

  • TinyMCE を 3.4.4 にバージョンアップすることで対応する。
  • ただし、 TinyMCE-3.2.7 の実装を前提に記述した OpenPNE 側のコードがあるため、バージョンアップ後に OpenPNE 側で拡張した部分を修正する必要がある。

関連するチケット 1 (0件未完了1件完了)

関連している OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)Fixed(完了)Minoru Takai2011-08-22

操作

他の形式にエクスポート: Atom PDF