http://redmine.openpne.jp/
http://redmine.openpne.jp/favicon.ico
2011-08-22T06:29:47Z
OpenPNE Issue Tracking System
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=10338
2011-08-22T06:29:47Z
Kiwa Sakai
kiwa@openpne.jp
<ul><li><strong>説明</strong> を更新 (<a title="差分を表示" href="/journals/10338/diff?detail_id=13269">diff</a>)</li></ul>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=10339
2011-08-22T07:16:04Z
Minoru Takai
main.coeurl@gmail.com
<ul></ul><pre>
web/js/tiny_mce/tiny_mce_src.js
1-var tinymce = {
2: majorVersion : '3',
3: minorVersion : '2.7',
4- releaseDate : '2009-09-22',
5-
</pre>
<p>IE9 で tiny_mce が動作しない問題はいくつも記事がヒットする。 <a class="external" href="http://stackoverflow.com/questions/6912211/tinymce-not-working-in-ie9">http://stackoverflow.com/questions/6912211/tinymce-not-working-in-ie9</a></p>
<p>tiny_mce のバージョンを上げてこの問題を解消するのが(バージョンアップによる副作用がなければ)好ましいが、 OpenPNE が IE9 をどのようにサポートするかという別の問題も絡んでくる。</p>
<p>IE8 対応についても同様だが、 <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"> を記述することで問題が生じないようにするという方針も考えられる。 IE の過去互換モードを使用して回避するか、それを用いずに IE のバージョン間の際を考慮して対応する(つまり tiny_mce のバグを解消する)かのどちらかが考えられる。</p>
<p>ちなみに、このチケットで扱う内容の対象外かもしれないが、 IE6/7 で文字装飾ボタンの間隔が大きく開いているのは IE6/7 の CSS の解釈に不備があるためであり、これは CSS の追記で修正できる。</p>
<a name="考察"></a>
<h3 >考察<a href="#考察" class="wiki-anchor">¶</a></h3>
<p>現在 TinyMCE のバージョン 3.2.7 を用いているのは、単にそのバージョンに上げた時点で(おそらく)最新版だったためであると考えられる(2009年10月14日に OpenPNE-3.1.4 で TinyMCE-3.2.7 が組み込まれている <a class="changeset" title="updated tinymce to 3.2.7" href="http://redmine.openpne.jp/projects/op3/repository/revisions/e24edf33512379821bea6ecfa96c8aed4e813fb0">e24edf33</a> )。</p>
<p>つまり現在の最新版 3.4.4 にバージョンアップするべきではない理由は特にない。</p>
<p>そして、TinyMCE をバージョンアップせずとも IE 独自の meta 要素によるエミュレーションにより IE9 でも(互換モードで表示させることで)動作するように対応することはできるが、IE9 をネイティブのまま動作しないようにすることは好ましい対応ではない(IE9 の新仕様を使わせないことは、IE のバージョンアップを否定することを意味する)。</p>
<p>IE9 に対して互換モードを用いるようにする、という対応は、それ以外に対応策がなく、互換モードで扱わせてしまうことによるデメリットが許容できるような限定的な場面に限って行うという方針であるべきである。</p>
<p>こうしたことを考慮すると、本問題の本質的な解決策は TinyMCE のバージョンアップであると考えられる。</p>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=10363
2011-08-23T06:29:50Z
Shingo Yamada
s.yamada@tejimaya.com
<ul><li><strong>優先度</strong> を <i>Normal(通常)</i> から <i>High(高め)</i> に変更</li></ul>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=10417
2011-08-23T07:30:12Z
Shingo Yamada
s.yamada@tejimaya.com
<ul><li><strong>360対象</strong> を <i>RC1</i> にセット</li></ul>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=10479
2011-08-25T01:41:13Z
Yuma Sakata
sakata@tejimaya.com
<ul><li><strong>対象バージョン</strong> を <i>OpenPNE 3.7.0</i> にセット</li></ul>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=10492
2011-08-25T04:46:55Z
Shingo Yamada
s.yamada@tejimaya.com
<ul><li><strong>担当者</strong> を <i>Minoru Takai</i> にセット</li></ul>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=10523
2011-08-29T09:18:58Z
Minoru Takai
main.coeurl@gmail.com
<ul><li><strong>ステータス</strong> を <i>New(新規)</i> から <i>Accepted(着手)</i> に変更</li></ul><p>関連 <a class="changeset" title="updated tinymce to 3.2.7" href="http://redmine.openpne.jp/projects/op3/repository/revisions/e24edf33512379821bea6ecfa96c8aed4e813fb0">e24edf33</a></p>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=10586
2011-08-31T13:51:01Z
Minoru Takai
main.coeurl@gmail.com
<ul><li><strong>題名</strong> を <i>IE9 で文字装飾のプレビューモードが正常に動作しない</i> から <i>IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)</i> に変更</li><li><strong>説明</strong> を更新 (<a title="差分を表示" href="/journals/10586/diff?detail_id=13535">diff</a>)</li></ul>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=10589
2011-08-31T14:11:14Z
Minoru Takai
main.coeurl@gmail.com
<ul><li><strong>ステータス</strong> を <i>Accepted(着手)</i> から <i>Pending Review(レビュー待ち)</i> に変更</li><li><strong>進捗率</strong> を <i>0</i> から <i>50</i> に変更</li><li><strong>3.6 で発生するか</strong> を <i>Yes</i> にセット</li></ul><p>対応しました。</p>
<a name="修正内容"></a>
<h3 >修正内容<a href="#修正内容" class="wiki-anchor">¶</a></h3>
<ol>
<li><a class="changeset" title="(refs #2362) updated tinymce to 3.4.4" href="http://redmine.openpne.jp/projects/op3/repository/revisions/63d8b3f0dc27107173713d1f4450dbe960137521">63d8b3f0</a>
<ul>
<li>TinyMCE を 3.4.4 にバージョンアップした。</li>
<li>作業手順
<ol>
<li><a class="external" href="http://www.tinymce.com/">http://www.tinymce.com/</a> から最新版の zip パッケージをダウンロードする。</li>
<li>サーバ上で展開する。 tinymce ディレクトリが作られ、 (OPENPNE_DIR)/web/js/tiny_mce/ と同等のファイルは tinymce/jscripts/tiny_mce/ に含まれている。</li>
<li>tinymce/jscripts/tiny_mce/plugins/ には OpenPNE で用いているもの以外も含まれているため、 plugins/inlinepopups 以外の plugins/* を削除する。</li>
<li>こうして用意した tinymce/jscripts/tiny_mce/ を (OPENPNE_DIR)/web/js/tiny_mce/ に追加する。<br /><pre>
tinymce 側にあるファイルを OpenPNE 側に上書きする。
tinymce 側にはなく OpenPNE 側にあるファイルは残さなければならない。
これは次のコマンドで実行できる( mv コマンドでは同等のことはできない)。
cp -r tinymce/jscripts/tiny_mce/ (OPENPNE_DIR)/web/js/tiny_mce/
</pre></li>
<li>これでバージョンアップは完了となる。</li>
</ol>
</li>
</ul>
</li>
<li><a class="changeset" title="(refs #2362) fixes tinymce-plugins/openpne for tinymce-3.4.4" href="http://redmine.openpne.jp/projects/op3/repository/revisions/9c785df7127516822e22dd0f98b3856c38f031cd">9c785df7</a>
<ul>
<li>tiny_mce/plugins/openpne が TinyMCE-3.2.7 に依存したコードとなっているので修正した。</li>
<li>この修正により、カラーパレットと絵文字パレットが今まで通り使えるようになる。</li>
</ul>
</li>
<li><a class="changeset" title="(refs #2362) changed emoji-palette position." href="http://redmine.openpne.jp/projects/op3/repository/revisions/15411d5d89f1a85fd63f1d4148b668bc9f486312">15411d5d</a>
<ul>
<li>このチケットの問題ではないが、絵文字パレットの表示位置を変更した。</li>
<li>これまでの仕様と異なることになるが、本文エリアに被さるように絵文字パレットが表示されるのは利便性が低いと判断した。</li>
</ul>
</li>
<li><a class="changeset" title="(refs #2362) fixes buttons spacing of tinymce-toolbar for IE6/7" href="http://redmine.openpne.jp/projects/op3/repository/revisions/efb3f4292afa4e08b3c90bfb7b749ab93f94517a">efb3f429</a>
<ul>
<li>このチケットの問題ではないが、 IE6/7 で文字装飾ボタンの間隔が広くなっている問題を解消した。</li>
</ul>
</li>
<li><a class="changeset" title="(refs #2362) fixed the color-palette of text-mode not to depend on position-property-value of ele..." href="http://redmine.openpne.jp/projects/op3/repository/revisions/8c2c373c04abed2d0718831e69bf53fc24fbb913">8c2c373c</a>
<ul>
<li>このチケットの問題ではないが、テキストモードでのカラーパレットの表示位置が、ウィンドウが基点であることを前提としており、カスタマイズなどで「パレットの親要素(厳密には、文字装飾ボタンを囲う div#diary_body_buttonmenu の要素)よりも先祖の要素に position プロパティで static 以外の指定されている場合」に「テキストモードでのカラーパレットの表示位置が想定位置から大幅にずれる」という問題があったのを解消した。</li>
</ul>
</li>
<li><a class="changeset" title="(refs #2362) fixes tinymce-plugins/openpne for tinymce-3.4.4; fixes hideMenu of the emoji-palette." href="http://redmine.openpne.jp/projects/op3/repository/revisions/b443ff21eacc0ea9eb6412f7693ec59ca733b5c0">b443ff21</a>
<ul>
<li>追加修正:絵文字パレット内(絵文字以外の部分)をクリックした後で、絵文字パレットを閉じることができない問題を解消した。</li>
</ul></li>
</ol>
<p>このチケットの問題に対しては、1個目と2個目の修正のみで良いかもしれませんが、3個目から5個目の修正も併せてこのチケットで扱いました。(追記:1個目と2個目と6個目の修正が必要です。)</p>
<p>3個目から5個目の修正は、TinyMCE-3.2.7 時点でもそのまま適用できる修正です。</p>
<a name="備考"></a>
<h3 >備考<a href="#備考" class="wiki-anchor">¶</a></h3>
<ul>
<li>2個目のコミットで tiny_mce.js.src とか書いているけど、本当は tiny_mce_src.js だった。 tiny_mce/plugins/openpne/editor_plugin.js の方は editor_plugin.js.src となっているのでコメントを記述したときに間違えた。直そうかとも思ったけど意図が分かるからこのままでもいいか。<br /><pre>
// copied from tiny_mce/tiny_mce.js.src (ver 3.4.4), and does not use "t.editor"
</pre></li>
</ul>
<a name="実装者として確認した動作テスト項目"></a>
<h3 >実装者として確認した動作テスト項目<a href="#実装者として確認した動作テスト項目" class="wiki-anchor">¶</a></h3>
<ul>
<li>テキストモードで
<ul>
<li>(1) 普通に文字が入力できる</li>
<li>(2) 「太字、下線、打消線、斜体、大きな文字、小さな文字」での装飾が動作する</li>
<li>(3) 「カラーパレット」が表示ができる、表示位置が不自然でない、色選択ができる、閉じることができる</li>
<li>(4) 「絵文字パレット」が表示ができる、絵文字の表示が不自然でない、絵文字入力ができる、閉じることができる</li>
</ul>
</li>
<li>プレビューモードで
<ul>
<li>(5) 文字装飾ボタンが普通に表示される</li>
<li>(6) テキストモードに戻れる</li>
<li>(7) 普通に文字が入力でき、テキストエリア内での文字列の見栄えが不自然でない(IE9 で文字サイズが小さくなっている問題に対する確認)</li>
<li>(8) 「太字、下線、打消線、斜体、大きな文字、小さな文字」での装飾が動作する</li>
<li>(9) 「カラーパレット」が表示できる、表示位置が不自然でない</li>
<li>(10) 「カラーパレット」を閉じることができる</li>
<li>(11) 「カラーパレット」で色を選ぶとパレットが勝手に閉じる(正常動作)</li>
<li>(12) 「絵文字パレット」が表示できる、表示位置が不自然でない(これまでと同様であるか、あるいは改善されているか)</li>
<li>(13) 「絵文字パレット」を表示した後に、(絵文字を入力せずに)パレット外をクリックすることで、パレットを閉じることができる</li>
<li>(14) 「絵文字パレット」を表示し、絵文字をクリックすると絵文字が入力できる(パレットは閉じない)</li>
<li>(15) 「絵文字パレット」で (14) の操作に続けて、連続して絵文字を入力できる</li>
<li>(16) 「絵文字パレット」で絵文字を入力した後に、パレット外をクリックすることで、パレットを閉じることができる</li>
</ul>
</li>
<li>追加( note-13 以降を参照)
<ul>
<li>(17) 「絵文字パレット」でパレット内の絵文字以外の場所をクリックした後に、パレット外をクリックすることで、パレットを閉じることができる</li>
</ul></li>
</ul>
<p>2個目の修正 <a class="changeset" title="(refs #2362) fixes tinymce-plugins/openpne for tinymce-3.4.4" href="http://redmine.openpne.jp/projects/op3/repository/revisions/9c785df7127516822e22dd0f98b3856c38f031cd">9c785df7</a> では、 (9), (10), (13), (16) を特に修正しています。1個目の修正(バージョンアップ)だけでは、この 4 項目が正常に動作しませんでした。(追記:6個目の修正で (17) を修正しました。)</p>
<blockquote>
<p>実装上の補足ですが、このチケットの修正前は、絵文字パレットにおいて「 mousedown で絵文字が入力できていた」のですが、今回の修正で「 click で絵文字が入力できる」ようにしました。 mousedown はマウスで押す操作、 click はマウスで押してその場で離す操作です。ちなみにドラッグはマウスで押してそのまま移動する操作です。つまり、絵文字上でドラッグ操作を行おうとした場合、修正前はマウスで絵文字を押した瞬間に入力されましたが、修正後は「絵文字を押した後にその場で離さない限り入力されない」ように動作が変わっています。 mousedown イベントを用いていると (16) の問題を容易に(hideMenu メソッドをオーバーライドせずに)解消できなかったためです。</p>
</blockquote>
<p>と書いていましたが、6個目の修正 <a class="changeset" title="(refs #2362) fixes tinymce-plugins/openpne for tinymce-3.4.4; fixes hideMenu of the emoji-palette." href="http://redmine.openpne.jp/projects/op3/repository/revisions/b443ff21eacc0ea9eb6412f7693ec59ca733b5c0">b443ff21</a> で、絵文字の入力を行うイベントを mousedown に戻しました。 (17) の問題を解消するために hideMenu メソッドをオーバーライドする方針で修正したためです。</p>
<a name="実装者テストの結果"></a>
<h3 >実装者テストの結果<a href="#実装者テストの結果" class="wiki-anchor">¶</a></h3>
<ul>
<li>Windows Vista IE9 </li>
<li>同 IE-Tester IE8</li>
<li>同 IE-Tester IE7</li>
<li>同 IE-Tester IE6</li>
<li>Mac OSX Firefox 6.0</li>
<li>同 Google Chrome 13.0</li>
<li>同 Safari 5.0</li>
<li>同 Opera 11.51</li>
</ul>
<p>で確認し、上記全てのブラウザで (1) 〜 (16) までの動作が正常に行えることを確認しています。</p>
<p>その後、6個目の修正を行い、 Mac OSX Firefox 6.0 では (1) 〜 (17) までの動作が正常に行えることを確認しています。他のブラウザでも (17) の動作は正常に行えるはずです。</p>
<p>補足: 7個目、8個目、9個目の修正を追加していますが、これは上記の実装者テストについて、どうなっていれば問題ないかという評価基準をより厳しくした上での追加修正です。</p>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=10592
2011-09-01T06:07:57Z
Kousuke Ebihara
ebihara@tejimaya.com
<ul></ul><p>メモ: tiny_mce/tiny_mce_src.js の renderMenu と tiny_mce/plugins/openpne/editor_plugin.js.src の renderMenu との差分 (手作業で抽出したので変なホワイトスペースが入っている可能性はある)</p>
<pre>
$ diff -b -u /tmp/original /tmp/openpne
--- /tmp/original 2011-09-01 14:57:08.000000000 +0900
+++ /tmp/openpne 2011-09-01 14:59:34.000000000 +0900
@@ -1,3 +1,4 @@
+// copied from tiny_mce/tiny_mce.js.src (ver 3.4.4), and does not use "t.editor"
renderMenu : function() {
var t = this, m, i = 0, s = t.settings, n, tb, tr, w, context;
@@ -25,11 +26,11 @@
style : {
backgroundColor : '#' + c
},
- 'title': t.editor.getLang('colors.' + c, c),
+ // 'title': t.editor.getLang('colors.' + c, c),
'data-mce-color' : '#' + c
});
- if (t.editor.forcedHighContrastMode) {
+ if (t.editor && t.editor.forcedHighContrastMode) {
n = DOM.add(n, 'canvas', { width: 16, height: 16, 'aria-hidden': 'true' });
if (n.getContext && (context = n.getContext("2d"))) {
context.fillStyle = '#' + c;
@@ -54,6 +55,7 @@
DOM.addClass(m, 'mceColorSplitMenu');
+
new tinymce.ui.KeyboardNavigation({
root: t.id + '_menu',
items: DOM.select('a', t.id + '_menu'),
</pre>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=10593
2011-09-01T06:18:27Z
Kousuke Ebihara
ebihara@tejimaya.com
<ul><li><strong>ステータス</strong> を <i>Pending Review(レビュー待ち)</i> から <i>Pending Testing(テスト待ち)</i> に変更</li><li><strong>進捗率</strong> を <i>50</i> から <i>70</i> に変更</li></ul>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=10594
2011-09-01T06:46:01Z
Minoru Takai
main.coeurl@gmail.com
<ul></ul><blockquote>
<ol>
<li><a class="changeset" title="(refs #2362) updated tinymce to 3.4.4" href="http://redmine.openpne.jp/projects/op3/repository/revisions/63d8b3f0dc27107173713d1f4450dbe960137521">63d8b3f0</a></li>
<li><a class="changeset" title="(refs #2362) fixes tinymce-plugins/openpne for tinymce-3.4.4" href="http://redmine.openpne.jp/projects/op3/repository/revisions/9c785df7127516822e22dd0f98b3856c38f031cd">9c785df7</a></li>
<li><a class="changeset" title="(refs #2362) changed emoji-palette position." href="http://redmine.openpne.jp/projects/op3/repository/revisions/15411d5d89f1a85fd63f1d4148b668bc9f486312">15411d5d</a>
<ul>
<li>このチケットの問題ではないが、絵文字パレットの表示位置を変更した。</li>
<li>これまでの仕様と異なることになるが、本文エリアに被さるように絵文字パレットが表示されるのは利便性が低いと判断した。</li>
</ul>
</li>
<li><a class="changeset" title="(refs #2362) fixes buttons spacing of tinymce-toolbar for IE6/7" href="http://redmine.openpne.jp/projects/op3/repository/revisions/efb3f4292afa4e08b3c90bfb7b749ab93f94517a">efb3f429</a>
<ul>
<li>このチケットの問題ではないが、 IE6/7 で文字装飾ボタンの間隔が広くなっている問題を解消した。</li>
</ul>
</li>
<li><a class="changeset" title="(refs #2362) fixed the color-palette of text-mode not to depend on position-property-value of ele..." href="http://redmine.openpne.jp/projects/op3/repository/revisions/8c2c373c04abed2d0718831e69bf53fc24fbb913">8c2c373c</a>
<ul>
<li>このチケットの問題ではないが、テキストモードでのカラーパレットの表示位置が、ウィンドウが基点であることを前提としており、カスタマイズなどで「パレットの親要素(厳密には、文字装飾ボタンを囲う div#diary_body_buttonmenu の要素)よりも先祖の要素に position プロパティで static 以外の指定されている場合」に「テキストモードでのカラーパレットの表示位置が想定位置から大幅にずれる」という問題があったのを解消した。</li>
</ul></li>
</ol>
<p>このチケットの問題に対しては、1個目と2個目の修正のみで良いかもしれませんが、3個目から5個目の修正も併せてこのチケットで扱いました。</p>
</blockquote>
<p>5個目の修正を note-11 のレビュー後に追加したのでコメントしておきます(5個目の修正内容自体を追加することに問題はないと思います)。</p>
<p>前述の通り、このチケットの内容だけ考えれば1個目と2個目の修正のみで良いのですが、改善も併せて3個目と4個目を行いました。しかし5個目の問題も認識しており、これも併せて行ってしまっても良いのではないかと思ったので追加しました。</p>
<p>もし3個目以降の修正を取り込んでしまうことが問題であると判断し得る場合は、直近のリリースまでに指摘をお願いします。指摘内容に則して対応をしたいと思います。ただし、チケットが完了となりリリースが行なわれてしまった後で、ここでの修正が不適切であると判断された場合は別チケットで改めて扱うことを予定します。</p>
<a name="note-10-に対して"></a>
<h3 >note-10 に対して<a href="#note-10-に対して" class="wiki-anchor">¶</a></h3>
<blockquote>
<p>tiny_mce/tiny_mce_src.js の renderMenu と tiny_mce/plugins/openpne/editor_plugin.js.src の renderMenu との差分</p>
</blockquote>
<p>についてですが、プレビューモードでのカラーパレット (var t = this) において、 t.editor が undefined であるため t.editor.* を直接参照している箇所を修正しました(※)。</p>
<p>※しかしながら、 tiny_mce/tiny_mce_src.js 側では renderMenu において t.editor が何らかのオブジェクトであることを前提としていることを考えると、 tiny_mce/plugins/openpne/editor_plugin.js.src 側で t.editor を用意できていないことが本質的な誤りなのではないかとも思っている。が、どこを修正すべきか分からなかったので t.editor がオブジェクトとして扱えないことを前提とするコードへと書き換えた(以下参照)。</p>
<ul>
<li>// 'title': t.editor.getLang('colors.' + c, c),
<ul>
<li>「 t.editor があれば」という記述への変更が難しかったのでコメントアウトしました。</li>
</ul>
</li>
<li>if (t.editor && t.editor.forcedHighContrastMode) {
<ul>
<li>「 t.editor があれば」という記述を追加しました。(「 t.editor && 」を追加)</li>
</ul></li>
</ul>
<p>この 2 箇所を変更しました。 note-10 で示されている下方の差分:</p>
<pre>
@@ -54,6 +55,7 @@
DOM.addClass(m, 'mceColorSplitMenu');
+
new tinymce.ui.KeyboardNavigation({
root: t.id + '_menu',
items: DOM.select('a', t.id + '_menu'),
</pre>
<p>は入っていないと思います(が、もしかしたら誤操作で不要な空白類が混在しているかもしれません)。</p>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=10600
2011-09-01T07:18:22Z
Minoru Takai
main.coeurl@gmail.com
<ul><li><strong>ステータス</strong> を <i>Pending Testing(テスト待ち)</i> から <i>Rejected(差し戻し)</i> に変更</li><li><strong>進捗率</strong> を <i>70</i> から <i>50</i> に変更</li></ul><p>実装者テストを改めて行いましたが、 note-9 での動作テスト項目が不十分でした。</p>
<p>(12) 「絵文字パレット」が表示できる、表示位置が不自然でない(これまでと同様であるか、あるいは改善されているか)<br />(13) 「絵文字パレット」を表示した後に、(絵文字を入力せずに)パレット外をクリックすることで、パレットを閉じることができる<br />(14) 「絵文字パレット」を表示し、絵文字をクリックすると絵文字が入力できる(パレットは閉じない)<br />(15) 「絵文字パレット」で (14) の操作に続けて、連続して絵文字を入力できる<br />(16) 「絵文字パレット」で絵文字を入力した後に、パレット外をクリックすることで、パレットを閉じることができる<br />(17) 「絵文字パレット」でパレット内の絵文字以外の場所をクリックした後に、パレット外をクリックすることで、パレットを閉じることができる</p>
<p>この新たな項目 (17) が正常に動作していないので修正します。</p>
<p>note-11 でレビューを頂いていますが、これは実装者かテスターでないと気づかないものなので、レビュアーのチェック漏れではないことを示しておきます(つまりこれを独立に修正した後では、実装者の裁量で再レビューを待たずしてテスト待ちにしてよいと判断します)。</p>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=10601
2011-09-01T07:18:29Z
Minoru Takai
main.coeurl@gmail.com
<ul><li><strong>ステータス</strong> を <i>Rejected(差し戻し)</i> から <i>Accepted(着手)</i> に変更</li></ul>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=10606
2011-09-01T11:31:27Z
Minoru Takai
main.coeurl@gmail.com
<ul><li><strong>ステータス</strong> を <i>Accepted(着手)</i> から <i>Pending Review(レビュー待ち)</i> に変更</li></ul><p><a class="changeset" title="(refs #2362) fixes tinymce-plugins/openpne for tinymce-3.4.4; fixes hideMenu of the emoji-palette." href="http://redmine.openpne.jp/projects/op3/repository/revisions/b443ff21eacc0ea9eb6412f7693ec59ca733b5c0">b443ff21</a> で、 note-13 の問題を修正しました。</p>
<p>「絵文字パレットが閉じないことがある」問題を解消するために、絵文字パレットに対する hideMenu メソッドを上書きし、 hideMenu が呼ばれたときは t.isMenuVisible の値にかかわらず hideMenu の処理を実行するようにしました。</p>
<p>note-12 の後半の内容(t.editor を使わないようにする)についても、実行する想定でないコードは全てコメントアウトするように変更しました。</p>
<p>また、変更箇所が分かるよう、コードの一部を変更した部分に "// OpenPNE:" という接頭辞をつけてコメントを記述しました。</p>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=10607
2011-09-01T11:37:19Z
Minoru Takai
main.coeurl@gmail.com
<ul><li><strong>ステータス</strong> を <i>Pending Review(レビュー待ち)</i> から <i>Pending Testing(テスト待ち)</i> に変更</li><li><strong>進捗率</strong> を <i>50</i> から <i>70</i> に変更</li></ul>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=10618
2011-09-02T07:47:44Z
Minoru Takai
main.coeurl@gmail.com
<ul><li><strong>ステータス</strong> を <i>Pending Testing(テスト待ち)</i> から <i>Rejected(差し戻し)</i> に変更</li><li><strong>進捗率</strong> を <i>70</i> から <i>50</i> に変更</li></ul><p>繰り返しすみません。プレビューモード時の絵文字パレットの位置を変更した3個目の修正が不適切だったので修正し直します。</p>
<p>3個目の修正では、絵文字パレットが「ウィンドウに対しての横軸中央」に表示されますが、絵文字パレットボタンの位置や、テキストエリアの位置が「ウィンドウの横軸中央あたり」にある前提でなければ適切な表示位置には成り得ません。例えば #ContentsContainer { margin: 0 } をカスタムCSSで追加した場合、OpenPNEのPC版のページでは全体が左寄せになりますが、3個目の修正によって絵文字パレットが中央に表示されてしまいます。</p>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=10619
2011-09-02T07:47:53Z
Minoru Takai
main.coeurl@gmail.com
<ul><li><strong>ステータス</strong> を <i>Rejected(差し戻し)</i> から <i>Accepted(着手)</i> に変更</li></ul>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=10623
2011-09-02T11:47:12Z
Minoru Takai
main.coeurl@gmail.com
<ul><li><strong>ステータス</strong> を <i>Accepted(着手)</i> から <i>Pending Review(レビュー待ち)</i> に変更</li></ul><p>改めて修正内容をまとめます。</p>
<ol>
<li><a class="changeset" title="(refs #2362) updated tinymce to 3.4.4" href="http://redmine.openpne.jp/projects/op3/repository/revisions/63d8b3f0dc27107173713d1f4450dbe960137521">63d8b3f0</a>
<ul>
<li>TinyMCE を 3.4.4 にバージョンアップした。</li>
</ul>
</li>
<li><a class="changeset" title="(refs #2362) fixes tinymce-plugins/openpne for tinymce-3.4.4" href="http://redmine.openpne.jp/projects/op3/repository/revisions/9c785df7127516822e22dd0f98b3856c38f031cd">9c785df7</a>
<ul>
<li>tiny_mce/plugins/openpne が TinyMCE-3.2.7 に依存したコードとなっているので修正した。</li>
<li>この修正により、カラーパレットと絵文字パレットが今まで通り使えるようになる。(追記:ある手順を行うと、絵文字パレットを閉じることができない問題が残っている)</li>
</ul>
</li>
<li><a class="changeset" title="(refs #2362) changed emoji-palette position." href="http://redmine.openpne.jp/projects/op3/repository/revisions/15411d5d89f1a85fd63f1d4148b668bc9f486312">15411d5d</a>
<ul>
<li>このチケットの問題ではないが、絵文字パレットの表示位置を変更した。(追記:文字装飾ボタンの位置を考慮していないため、想定外の位置に表示される問題がある)</li>
<li>これまでの仕様と異なることになるが、本文エリアに被さるように絵文字パレットが表示されるのは利便性が低いと判断した。</li>
</ul>
</li>
<li><a class="changeset" title="(refs #2362) fixes buttons spacing of tinymce-toolbar for IE6/7" href="http://redmine.openpne.jp/projects/op3/repository/revisions/efb3f4292afa4e08b3c90bfb7b749ab93f94517a">efb3f429</a>
<ul>
<li>このチケットの問題ではないが、 IE6/7 で文字装飾ボタンの間隔が広くなっている問題を解消した。</li>
</ul>
</li>
<li><a class="changeset" title="(refs #2362) fixed the color-palette of text-mode not to depend on position-property-value of ele..." href="http://redmine.openpne.jp/projects/op3/repository/revisions/8c2c373c04abed2d0718831e69bf53fc24fbb913">8c2c373c</a>
<ul>
<li>このチケットの問題ではないが、テキストモードでのカラーパレットの表示位置が、ウィンドウが基点であることを前提としており、カスタマイズなどで「パレットの親要素(厳密には、文字装飾ボタンを囲う div#diary_body_buttonmenu の要素)よりも先祖の要素に position プロパティで static 以外の指定されている場合」に「テキストモードでのカラーパレットの表示位置が想定位置から大幅にずれる」という問題があったのを解消した。</li>
</ul>
</li>
<li><a class="changeset" title="(refs #2362) fixes tinymce-plugins/openpne for tinymce-3.4.4; fixes hideMenu of the emoji-palette." href="http://redmine.openpne.jp/projects/op3/repository/revisions/b443ff21eacc0ea9eb6412f7693ec59ca733b5c0">b443ff21</a>
<ul>
<li>追加修正:2個目の修正では不足していた修正を行った。</li>
<li>絵文字パレット内(絵文字以外の部分)をクリックした後で、絵文字パレットを閉じることができない問題を解消した。</li>
</ul>
</li>
<li><a class="changeset" title="Revert commit:15411d5d "(refs #2362) changed emoji-palette position."" href="http://redmine.openpne.jp/projects/op3/repository/revisions/483690b9f490ec2dc7fca9bbc11f0dc8ac8a0c11">483690b9</a>
<ul>
<li>3個目の変更は不適切だったため取り消した。</li>
</ul>
</li>
<li><a class="changeset" title="(refs #2362) changed to display the emoji-palette on the upper part of the button." href="http://redmine.openpne.jp/projects/op3/repository/revisions/ed49d5bd970f2e640f1bc9bd6f852b9eceaaf5bb">ed49d5bd</a>
<ul>
<li>3個目の修正に代わる、文字装飾ボタンの位置を考慮した絵文字パレットの表示位置変更を行った。</li>
</ul>
</li>
<li><a class="changeset" title="(refs #2362) added inline-block to the button, that is "a" (anchor) element, to exactly calculate..." href="http://redmine.openpne.jp/projects/op3/repository/revisions/a4d2c23ad1076845117e236a7a27e60ac3b4594a">a4d2c23a</a>
<ul>
<li>この修正は、実装者テスト項目「(3) テキストモード時のカラーパレットの表示位置」について、より適切な位置に表示されるように改善したものです。</li>
<li>このチケットの問題ではないが、もともと Safari, Chrome ではテキストモードでのカラーパレットが、上方向に若干ずれていた問題を修正した。これは TinyMCE-3.2.7 以前の問題である(TinyMCE-3.2.7 を用いている場合はプレビューモードでも生じる)が tiny_mce/plugins/openpne では以前のコードを流用しているため TinyMCE-3.4.4 に上げた今でもずれが生じていた。</li>
<li>また、5個目の修正を行ってしまうと IE6/7 の不具合によりテキストモードでのカラーパレットが下方向に大幅にずれてしまっていたが、この9個目の修正で解消できる。</li>
</ul></li>
</ol>
<hr />
<ul>
<li>7個目と8個目の修正を追加しました。
<ul>
<li>(18) カスタムCSSで #ContentsContainer { margin: 0 } を追加した上で、「プレビューモードの絵文字パレット」の表示位置が適切である</li>
<li>(19) カスタムCSSで #Header { display: none } #ContentsContainer { margin-left: -300px } を追加した上で、「プレビューモードの絵文字パレット」がウィンドウ外に出ずに(ウィンドウ左上をパレットの左上として)表示される</li>
</ul></li>
</ul>
<p>(18), (19) は CSS が変更された際の動作であるため、動作テスト項目としては必須ではないかもしれない。</p>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=10624
2011-09-02T11:51:16Z
Minoru Takai
main.coeurl@gmail.com
<ul><li><strong>ステータス</strong> を <i>Pending Review(レビュー待ち)</i> から <i>Pending Testing(テスト待ち)</i> に変更</li><li><strong>進捗率</strong> を <i>50</i> から <i>70</i> に変更</li></ul><p>note-11 のレビューを以て、修正方針は適切であると判断し、それ以降に行った修正は私がレビューしたものとします(追記:9個目の修正を追加しましたが、これも含めてレビュー済みとします)。</p>
<p>テストされる方は <a href="http://redmine.openpne.jp/issues/2362#%E5%AE%9F%E8%A3%85%E8%80%85%E3%81%A8%E3%81%97%E3%81%A6%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%9F%E5%8B%95%E4%BD%9C%E3%83%86%E3%82%B9%E3%83%88%E9%A0%85%E7%9B%AE" class="external">note-9 での動作テスト項目</a> が参考になるかもしれません。</p>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=10988
2011-09-20T02:59:19Z
Minoru Takai
main.coeurl@gmail.com
<ul><li><strong>ステータス</strong> を <i>Pending Testing(テスト待ち)</i> から <i>Rejected(差し戻し)</i> に変更</li><li><strong>進捗率</strong> を <i>70</i> から <i>50</i> に変更</li></ul><p><a class="external" href="http://redmine.openpne.jp/issues/2370#note-6">http://redmine.openpne.jp/issues/2370#note-6</a> の問題があるため差し戻します。</p>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=10989
2011-09-20T03:00:22Z
Minoru Takai
main.coeurl@gmail.com
<ul><li><strong>ステータス</strong> を <i>Rejected(差し戻し)</i> から <i>Accepted(着手)</i> に変更</li></ul><p>note-21 の問題(「太字」の装飾を行うと、プレビューモードからテキストモードに戻すときに Safari, Chrome で <op:b> ではなく <strong> が出力され、「斜体」では <op:i> ではなく <em> が出力される)について対応します。</p>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=11001
2011-09-20T09:39:08Z
Minoru Takai
main.coeurl@gmail.com
<ul></ul><a name="問題の背景"></a>
<h3 >問題の背景<a href="#問題の背景" class="wiki-anchor">¶</a></h3>
<p>note-21 で指摘された問題は、TinyMCEで入力された要素(スタイル)をOpenPNE独自にパースする処理について、TinyMCEのバージョンと入力者が使うブラウザによって、出力される要素が異なること(例えば「太字」の装飾に b 要素が使われたり strong 要素が使われたりする)が根本的な原因でした。</p>
<p>これには、OpenPNE独自のJS(plugins/openpne/editor_plugin.js)側で、あるブラウザのときはこの要素を独自タグに変換する、といったことを列挙して記述していたようです。しかし今回のTinyMCEのバージョンアップで、この列挙にあてはまらないパターン(例えば Safari ブラウザで strong 要素が使われるケース)が発生したために、独自タグに変換されない要素が生じてしまったようです。</p>
<a name="生じている問題"></a>
<h3 >生じている問題<a href="#生じている問題" class="wiki-anchor">¶</a></h3>
<p>このチケットの対応後(TinyMCE-3.4.4 へのバージョンアップ後)に、 Safari, Chrome にて、プレビューモードで「太字」「斜体」の装飾を行いテキストモードに戻すと、 op:b, op:i ではなく strong, em タグでマークアップされてしまっている(※)。</p>
<p>以前のコメントに示した実装者テスト項目で示すと、以下の動作が Safari, Chrome にて正常ではなかったことになる。</p>
<ul>
<li>(20) プレビューモードで文字装飾を行い、テキストモードに変えたときに、それぞれの装飾に対応した独自タグ(<op:*>)が出力される</li>
</ul>
<p>※これにより何が問題かという話だが、テスターから報告された問題点は「続けてプレビューモードにしたときに装飾が反映されない」というものだった。例えば太字に関して、 strong タグが出力されていても装飾が反映されればいいかという点だが、これはそもそも意図していないはずであり、独自タグを用意している意図がなくなってしまう( <strong> を独自タグだと言い張るのは可能かもしれないが、それは想定していないはずである)。</p>
<p>余談だが、逆にバージョンアップ前は打消線で装飾すると Safari, Chrome で strike タグになってしまう問題があるようだ(今回の検証中に発見した)。</p>
<a name="対応方針の検討"></a>
<h3 >対応方針の検討<a href="#対応方針の検討" class="wiki-anchor">¶</a></h3>
<p>対応方針を考えるため、 web/js/tiny_mce/plugins/openpne/editor_plugin.js.src で、「プレビューモードからテキストモードにモードを変更した瞬間に、プレビューモードで入力されていた要素(スタイル)を独自タグに変換する処理」の変更履歴を追ってみた。</p>
<ol>
<li>master ブランチで editor_plugin.js.src を git blame して行の差分履歴の大半を占めたコミットログ<br /><pre>
commit 9ec05e7c567acaed0e74356b8a228b45d8d08208
Author: ebihara <ebihara@8bbc783d-d51a-0410-adab-8fa69d43f207>
Date: Wed Dec 17 16:48:49 2008 +0000
#3194:added ability to set widets to home
git-svn-id: https://trac.openpne.jp/svn/OpenPNE3/trunk@9582 8bbc783d-d51a-0410-adab-8fa69d43f207
</pre></li>
<li>trac.openpne.jp のチケット 3194 <a class="external" href="http://trac.openpne.jp/ticket/3194">http://trac.openpne.jp/ticket/3194</a> から追ったリビジョン 9582
<ul>
<li><a class="external" href="http://trac.openpne.jp/changeset/9582">http://trac.openpne.jp/changeset/9582</a></li>
<li>9582 時点の web/js/tiny_mce/plugins
<ul>
<li><a class="external" href="http://trac.openpne.jp/browser/OpenPNE3/trunk/web/js/tiny_mce/plugins?rev=9582">http://trac.openpne.jp/browser/OpenPNE3/trunk/web/js/tiny_mce/plugins?rev=9582</a></li>
</ul>
</li>
</ul>
</li>
<li>ここから辿れる web/js/tiny_mce/plugins/openpne/editor_plugins.js.src の最終リビジョン
<ul>
<li><a class="external" href="http://trac.openpne.jp/log/OpenPNE3/trunk/web/js/tiny_mce/plugins/openpne/editor_plugin.js.src?rev=9582">http://trac.openpne.jp/log/OpenPNE3/trunk/web/js/tiny_mce/plugins/openpne/editor_plugin.js.src?rev=9582</a></li>
</ul>
</li>
<li>9151: コピー元のブランチのリビジョンログを辿る
<ul>
<li><a class="external" href="http://trac.openpne.jp/log/OpenPNE/trunk/public_html/js/tiny_mce/plugins/openpne/editor_plugin.js.src?rev=9151">http://trac.openpne.jp/log/OpenPNE/trunk/public_html/js/tiny_mce/plugins/openpne/editor_plugin.js.src?rev=9151</a></li>
</ul>
</li>
<li>7138: コピー元のブランチのリビジョンログを辿る
<ul>
<li><a class="external" href="http://trac.openpne.jp/log/OpenPNE/branches/stable-2.12.x/public_html/js/tiny_mce/plugins/openpne/editor_plugin.js.src?rev=7139">http://trac.openpne.jp/log/OpenPNE/branches/stable-2.12.x/public_html/js/tiny_mce/plugins/openpne/editor_plugin.js.src?rev=7139</a></li>
</ul>
</li>
<li>7131: コピー元のブランチのリビジョンログを辿る
<ul>
<li><a class="external" href="http://trac.openpne.jp/log/OpenPNE/branches/stable-2.12.x/public_html/js/tiny_mce/plugins/openpne/editor_plugin.js?rev=7131">http://trac.openpne.jp/log/OpenPNE/branches/stable-2.12.x/public_html/js/tiny_mce/plugins/openpne/editor_plugin.js?rev=7131</a></li>
</ul>
</li>
<li>6703: コピー元のブランチのリビジョンログを辿る
<ul>
<li><a class="external" href="http://trac.openpne.jp/log/OpenPNE/trunk/public_html/js/tiny_mce/plugins/openpne/editor_plugin.js?rev=6703">http://trac.openpne.jp/log/OpenPNE/trunk/public_html/js/tiny_mce/plugins/openpne/editor_plugin.js?rev=6703</a></li>
</ul>
</li>
<li>6347: コピー元のブランチのリビジョンログを辿る
<ul>
<li><a class="external" href="http://trac.openpne.jp/log/OpenPNE/branches/work/ebihara/prj_deco_diary/public_html/js/tiny_mce/plugins/openpne/editor_plugin.js?rev=6347">http://trac.openpne.jp/log/OpenPNE/branches/work/ebihara/prj_deco_diary/public_html/js/tiny_mce/plugins/openpne/editor_plugin.js?rev=6347</a></li>
</ul>
</li>
<li>strong, strike, em 要素をそれぞれ b, s, i 要素に変換する処理を追加した変更
<ul>
<li><a class="external" href="http://trac.openpne.jp/changeset/6254">http://trac.openpne.jp/changeset/6254</a></li>
</ul></li>
</ol>
<pre>
web/js/tiny_mce/plugins/openpne/editor_plugin.js.src
532 行目
if (!tinymce.isWebKit) { // not safari
s = tinymce.trim(s);
rep('/<(\/?)strong>/gi', '<\1b>');
rep('/<(\/?)strike>/gi', '<\1s>');
rep('/<(\/?)em>/gi', '<\1i>');
editor.dom.setHTML(editor.getBody(), s);
}
</pre>
<p>この部分の if 文を外す( WebKit, つまり Safari や Chrome でもこの処理を行う)ようにすれば、今回の問題は解消されるようだ。</p>
<a name="修正内容の確認"></a>
<h3 >修正内容の確認<a href="#修正内容の確認" class="wiki-anchor">¶</a></h3>
<p>このコメントを書いている時点で考えなければならないのは、 <a class="external" href="http://trac.openpne.jp/changeset/6254">http://trac.openpne.jp/changeset/6254</a> の修正を行ったときと同じ視点で、現状のブラウザの状況に合わせて同様の修正を追加することです。</p>
<ul>
<li>WebKit に対しても strong, strike, em 要素を変換する処理を行うようにするだけで良いのか
<ul>
<li>むしろもともと WebKit を対象外にしていた理由はなんだろうか(WebKit でもこの処理を通してしまってもよいが通す必要がないから対象外にしていたのか、WebKit ではこの処理を通してしまうと問題があったのか)</li>
</ul>
</li>
<li>WebKit (for Safari) に向けた処理を削除するなどしなくてもよいか
<ul>
<li>なんでそもそも for safari とかいったコードを書く必要があったのだろうか</li>
</ul>
</li>
<li>他のブラウザで同様の問題が起こっていないか</li>
</ul>
<p>これらが、特に確認しなければならない点です。現状の web/js/tiny_mce/plugins/openpne/editor_plugin.js.src のソース(本チケットの8個目の修正時点)は次のURLから確認できます。</p>
<p><a class="external" href="https://github.com/openpne/OpenPNE3/blob/ed49d5bd970f2e640f1bc9bd6f852b9eceaaf5bb/web/js/tiny_mce/plugins/openpne/editor_plugin.js.src#L525">https://github.com/openpne/OpenPNE3/blob/ed49d5bd970f2e640f1bc9bd6f852b9eceaaf5bb/web/js/tiny_mce/plugins/openpne/editor_plugin.js.src#L525</a></p>
<p>また、この修正に併せて、 convertHtmlTagToDecoTag() メソッドの一般化(より簡潔な記述)などが可能かどうかも検討しておきたいです。</p>
<p>余談ですが、 <a href="https://github.com/openpne/OpenPNE3/blob/ed49d5bd970f2e640f1bc9bd6f852b9eceaaf5bb/web/js/tiny_mce/plugins/openpne/editor_plugin.js.src#L590" class="external">590行目</a> の "// for safari" というコメントは、恐らく fontSize の分岐が加わった時点で不適切なコメントとなっています。 if (org_tagname == 'span') を通り必要な処理が施されるのは Safari (WebKit) だけではありません。コメントの記述も可能なら改善しておきたいです。</p>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=11012
2011-09-20T13:11:33Z
Minoru Takai
main.coeurl@gmail.com
<ul><li><strong>ステータス</strong> を <i>Accepted(着手)</i> から <i>Pending Review(レビュー待ち)</i> に変更</li></ul><p><a class="changeset" title="(refs #2362) fixed _previewToText() method to convert the "strong", "strike" and "em" element in ..." href="http://redmine.openpne.jp/projects/op3/repository/revisions/2438d77ee979aea6fc8f87f4ab67cdced6954714">2438d77e</a> で、Safari や Chrome でも、プレビューモードで太字・斜体の装飾を行い、テキストモードに変更したときに独自タグに変換されるように修正しました。</p>
<p>太字、打消線、斜体 の装飾としてプレビューモードで strong, strike, em 要素が使われた場合、</p>
<pre>
if (!tinymce.isWebKit) { // not safari
s = tinymce.trim(s);
rep('/<(\/?)strong>/gi', '<\1b>');
rep('/<(\/?)strike>/gi', '<\1s>');
rep('/<(\/?)em>/gi', '<\1i>');
editor.dom.setHTML(editor.getBody(), s);
}
</pre>
<p>の処理によって WebKit 以外ではそれぞれ b, s, i 要素に変換されていましたが、WebKit ではこれを行なっていませんでした。それは、この部分の実装当時、WebKit では strong, strike, em 要素が使われることがなく、全て span 要素で表現されていたためです。また、その当時に不要な(しかし通ってもよい)処理を行わない目的で、上記の if 文が記述されていたと判断したため、今回の修正でこの if 文を排除し、全てのブラウザで上記の処理が行なわれるようにしました。</p>
<p>修正箇所付近のコードを見る限り、他のブラウザで同様の問題が起こっている可能性は考えなくてよいと判断しています(そのような可能性が極めて低いと判断している)。また、この修正による副作用はないと判断しています。</p>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=11013
2011-09-20T13:13:42Z
Minoru Takai
main.coeurl@gmail.com
<ul><li><strong>ステータス</strong> を <i>Pending Review(レビュー待ち)</i> から <i>Pending Testing(テスト待ち)</i> に変更</li><li><strong>進捗率</strong> を <i>50</i> から <i>70</i> に変更</li></ul><p>レビューを通します。</p>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=11059
2011-09-21T11:20:16Z
Minoru Takai
main.coeurl@gmail.com
<ul></ul><p>note-23 で editor_plugins.js.src の修正の経緯を示していますが、 <a class="external" href="http://trac.openpne.jp/changeset/5911">http://trac.openpne.jp/changeset/5911</a> にあるようなコミットで対応した問題が、今回のバージョンアップによる仕様変更で再び問題となっているようです。</p>
<p>TinyMCE のコードをきちんと追っていないので、どこを修正することが根本的な対応なのか判断できていませんが、TinyMCE-3.2.7 の仕様(おそらく TinyMCE のバージョンが影響している)に基づいて記述していたコードが、TinyMCE-3.4.4 へのバージョンアップによって、想定通りの動作となっていない箇所がいくつかあります。 note-21 での指摘もその一つですが、 editor_plugins.js.src がどういう状況を前提に処理を行なっているのかを調べないと、こうした若干の不具合を含んだままのリリースとなってしまう危険性があります。</p>
<p>note-23 でも示していますが、本件は TinyMCE がどのような仕様なのかに加え、各種ブラウザがどのように動作するのかまでを把握していないと、あるケースにおける問題を網羅的に知ることができません(テスト項目が作れません)。</p>
<p>直近では、プレビューモードからテキストモードに変えた際に、改行が倍になってしまう問題が見つかっており、 <a class="external" href="http://trac.openpne.jp/changeset/5911">http://trac.openpne.jp/changeset/5911</a> を取り消すような形で修正を行えば解消されるようですが、 br 要素を \n 2個分に変換すべきなのか、1個分に変換すべきなのか直ぐに判断ができません(なぜ古いコードでは2個にしていたのか)。</p>
<p>editor_plugins.js.src の記述内容が妥当かどうかについて見直したほうが良いと思いますが、この件については OpenPNE-3.6.0 リリース後の対応となっても良いと思います。つまり別チケットで扱うことになるかもしれません。</p>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=11060
2011-09-21T11:48:37Z
Minoru Takai
main.coeurl@gmail.com
<ul><li><strong>ステータス</strong> を <i>Pending Testing(テスト待ち)</i> から <i>Rejected(差し戻し)</i> に変更</li><li><strong>進捗率</strong> を <i>70</i> から <i>50</i> に変更</li></ul><p>現時点で見つかっている、「改行が倍になる」問題をこのチケットで併せて修正することにします。</p>
<p>RC1 リリース後は、本件に関わる細かなバグは別チケット対応とし、 3.6.0 リリース後にマイナーバージョンで対応することとします。</p>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=11061
2011-09-21T11:48:51Z
Minoru Takai
main.coeurl@gmail.com
<ul><li><strong>ステータス</strong> を <i>Rejected(差し戻し)</i> から <i>Accepted(着手)</i> に変更</li></ul>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=11063
2011-09-21T12:51:41Z
Minoru Takai
main.coeurl@gmail.com
<ul><li><strong>ステータス</strong> を <i>Accepted(着手)</i> から <i>Pending Review(レビュー待ち)</i> に変更</li></ul><p>11個目のコミット <a class="changeset" title="(refs #2362) fixed _previewToText() method not to output many line-break." href="http://redmine.openpne.jp/projects/op3/repository/revisions/9b1e8e94de58e3c385c19c1a8fa31a49470f4d47">9b1e8e94</a> で note-26 の問題を修正しました。</p>
<p>この修正については、現状のブラウザでの動作を確認し、修正前に対し、修正後の方が動作が適切になることを確認して修正内容を決定しました。</p>
<p>IE6, IE9, Firefox 6.0, Safari 5.0, Chrome 14, Opera 11.51 にて、修正前はこれら全てのブラウザで、1個だった改行が2個になってしまっていましたが、修正によって改行が1個だけ出力されるようになることを確認しています。</p>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=11064
2011-09-21T12:52:03Z
Minoru Takai
main.coeurl@gmail.com
<ul><li><strong>ステータス</strong> を <i>Pending Review(レビュー待ち)</i> から <i>Pending Testing(テスト待ち)</i> に変更</li><li><strong>進捗率</strong> を <i>50</i> から <i>70</i> に変更</li></ul><p>レビューを通します。</p>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=11068
2011-09-21T12:57:10Z
Minoru Takai
main.coeurl@gmail.com
<ul></ul><p>note-30 まででは、細かい不具合が見つかった場合に都度修正を行なっていましたが、OpenPNE-3.6RC1 のリリースに併せて、これ以上の不具合については別チケット扱いとします。</p>
<p>ここまでの修正内容を本チケットで扱うこととします。OpenPNE-3.6RC1 リリース後に、もし本チケットに対して差し戻しがあった場合も、既にバックポートチケットを完了にしている関係で別チケットで対応することにします。</p>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=12008
2011-11-01T10:23:07Z
Yuma Sakata
sakata@tejimaya.com
<ul><li><strong>ステータス</strong> を <i>Pending Testing(テスト待ち)</i> から <i>Fixed(完了)</i> に変更</li><li><strong>進捗率</strong> を <i>70</i> から <i>100</i> に変更</li></ul><p>テストOKです。</p>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=19496
2015-10-08T08:50:16Z
kaoru n
<ul><li><strong>3.8 で発生するか</strong> を <i>Unknown (未調査)</i> にセット</li></ul>
OpenPNE 3 - Bug(バグ) #2362: IE9 で文字装飾のプレビューモードが正常に動作しない( tinymce のバージョンを上げる)
http://redmine.openpne.jp/issues/2362?journal_id=21351
2016-12-21T04:14:05Z
kaoru n
<ul><li><strong>関連している</strong> <i><a class="issue tracker-5 status-1 priority-5 priority-high3 parent" href="/issues/4071">Task(タスク) #4071</a>: OpenPNEに同梱されている TinyMCE 3.4.4 が IE11 に対応していないため、バージョンアップについて調査する</i> を追加</li></ul>