プロジェクト

全般

プロフィール

Backport(バックポート) #2370

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

Yuma Sakata12年以上前に追加. 12年以上前に更新.

ステータス:
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 側で拡張した部分を修正する必要がある。

関連するチケット

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

関係しているリビジョン

リビジョン 4b4de01d (差分)
Minoru Takai12年以上前に追加

(refs #2370, BP from #2362) updated tinymce to 3.4.4

リビジョン aaa362f5 (差分)
Minoru Takai12年以上前に追加

(refs #2370, BP from #2362) fixes tinymce-plugins/openpne for tinymce-3.4.4

リビジョン f6539963 (差分)
Minoru Takai12年以上前に追加

(refs #2370, BP from #2362) changed emoji-palette position.

リビジョン 53965b1e (差分)
Minoru Takai12年以上前に追加

(refs #2370, BP from #2362) fixes buttons spacing of tinymce-toolbar for IE6/7

リビジョン cc9456f7 (差分)
Minoru Takai12年以上前に追加

(refs #2370, BP from #2362) fixed the color-palette of text-mode not to depend on position-property-value of element of ancestors.

リビジョン c9d6c6e8 (差分)
Minoru Takai12年以上前に追加

(refs #2370, BP from #2362) fixes tinymce-plugins/openpne for tinymce-3.4.4; fixes hideMenu of the emoji-palette.

リビジョン a4952ff3 (差分)
Minoru Takai12年以上前に追加

Revert f6539963 "(refs #2370, BP from #2362) changed emoji-palette position."

リビジョン 4d7c8509 (差分)
Minoru Takai12年以上前に追加

(refs #2370, BP from #2362) changed to display the emoji-palette on the upper part of the button.

リビジョン 583789d0 (差分)
Minoru Takai12年以上前に追加

(refs #2370, BP from #2362) added inline-block to the button, that is "a" (anchor) element, to exactly calculate the height.

リビジョン c4ce8253 (差分)
Minoru Takai12年以上前に追加

(refs #2370, BP from #2362) fixed _previewToText() method to convert the "strong", "strike" and "em" element in Webkit (Safari, Chrome)

リビジョン a06bf3f6 (差分)
Minoru Takai12年以上前に追加

(refs #2370, BP from #2362) fixed _previewToText() method not to output many line-break.

履歴

#1 Minoru Takai12年以上前に更新

  • 題名IE9 で文字装飾のプレビューモードが正常に動作しない から IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる) に変更
  • 説明 を更新 (diff)

#2 Minoru Takai12年以上前に更新

  • ステータスNew(新規) から Accepted(着手) に変更
  • 担当者Minoru Takai にセット

BP対応します。

#3 Minoru Takai12年以上前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

stable-3.6.x ブランチに親チケットでの修正を全て取り込みました。

#4 Minoru Takai12年以上前に更新

  • ステータスPending Review(レビュー待ち) から Accepted(着手) に変更

親チケットで差し戻しを行います。

#5 Minoru Takai12年以上前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更

note-4 に対する修正を取り込みました。親チケット http://redmine.openpne.jp/issues/2362#note-19 で示している 9 個の修正を取り込んでいます。

#6 Yuma Sakata12年以上前に更新

  • ステータスPending Review(レビュー待ち) から Rejected(差し戻し) に変更

先にテスト実施しましたが、気になる点がありましたので確認お願いします。

プレビューモードでテキストモードに戻せるか Safari で確認

  • 試験手順
    1.SNSログイン後、日記作成ページ(/diary/new)にアクセスする
    2.プレビューモード選択後、文字入力(例:OpenPNE)および文字装飾(例:太字)する
    3.テキストモードに戻す
  • 試験結果
    「<strong>OpenPNE</strong>」と表示され、プレビューモードに戻しても太字が反映されず、HTML形式になる
  • 修正方針
    テキストモードに戻したときに「<op:b>OpenPNE</op:b>」と表示され、プレビューモードに戻しても太字が反映されるように修正お願いします。
  • 備考
    • 上記の問題は Safari のみで発生し、他のブラウザでは問題ありませんでした。

#7 Minoru Takai12年以上前に更新

  • ステータスRejected(差し戻し) から Accepted(着手) に変更

note-6 の差し戻しについて、 MacOS Safari と Chrome でも不具合を確認しました。対応します。

#8 Minoru Takai12年以上前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更

note-6 に対する修正を c4ce8253 で取り込みました。

#9 Minoru Takai12年以上前に更新

  • ステータスPending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
  • 進捗率50 から 70 に変更

これまでこのチケットでレビューを行なっていませんでしたが、まとめてレビューを行いました。

master ブランチと同一の修正が stable-3.6.x ブランチに全て(note-8 までの10個)取り込まれていることを確認しました。レビューを通します。

#10 Yuma Sakata12年以上前に更新

  • ステータスPending Testing(テスト待ち) から Fixed(完了) に変更
  • 進捗率70 から 100 に変更

テストOKです。

#11 Minoru Takai12年以上前に更新

  • ステータスFixed(完了) から Accepted(着手) に変更

テスターテストが通っていますが、プレビューモードからテキストモードに変えたときに改行が倍になるという問題が見つかっているのでこれを対応します。

#12 Minoru Takai12年以上前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更
  • 進捗率100 から 50 に変更

note-11 の問題を対応した 11 個目の修正 a06bf3f6 を取り込みました。

#13 Minoru Takai12年以上前に更新

  • ステータスPending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
  • 進捗率50 から 70 に変更

note-12 が stable-3.6.x ブランチに取り込まれていることを確認しました。

#14 Minoru Takai12年以上前に更新

  • ステータスPending Testing(テスト待ち) から Fixed(完了) に変更
  • 進捗率70 から 100 に変更

note-10 でテスターテストが通っており、11個目の修正については実装者テストを完了しているため、これを以てテストOKとし、ステータスを完了にします。

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