WPでChrome使用時、改行後にボタンで要素を挿入すると改行が無視される:メモ

悩み
悩み

調査中ながら情報が無く、解決の見通しが暗いのでせめてメモ的に現状を記録したいと思います。

テーマはまたもChromeとWordPressで、エディタのおかしな挙動です。

構築環境
WordPress4.7.4
PHP7.1.4
対応ブラウザChrome

発生している問題

WordPressのエディタにはボタンでHTML要素を追加する機能があります。

初期状態では以下のようなラベルのついたボタンがあるはずです。

  • ul/ol/li/img/b-quote/ins/more

このボタン(mce_buttons)によるHTML挿入時に、以下のような問題が発生します。

  1. テキスト入力後(あるいはボタンで要素を追加後)に改行を押す
  2. 現在の位置を示すカーソルが改行された位置に移動する
  3. HTML挿入ボタンを押す
  4. 要素が改行前の位置に挿入される(つまり、改行が無視される)

この問題には以下の特徴が確認できました。

  • 「初期状態のボタン」「functions.phpで設定したボタン」「AddQuickTagで設定したボタン」の全てで発生する可能性がある
  • 発生しない場合もある
  • 挿入した要素を消したりと何らかの操作後、再度ボタンで要素を挿入すると、押したのが改行1回なのに2つ以上の連続した改行も同時に挿入される
  • WindowsでもMacでも問題の発生を確認
  • Chormeのみ発生し、FirefoxやSafariやIEでは問題を確認できず

画像の挿入時にも発生する模様

フォーラムの投稿から以下の件も見つけました。

ボタンの挙動と併せて考えると、要素を挿入する際に位置や範囲が狂う、という感じでしょうか。

スレッドの中にブラウザのバグという見方でパッチをあてるような事も記載されていましたので、次期バージョンで改善されるのかもしれません。

しかし、IE対応のように特定ブラウザの特定バージョンのためにピンポイントで対応を行う場合、今後も同種のことが積み重なって歪な状態になりやすいのではとも思われ、判断がなかなか難しい印象です。

症状が発生している側からすれば改善して欲しいという心境にはなりますが、大多数が発生していない場合には自環境の変更をする方が全体としてよいのではないかとも考えられるためです。

Chromeのように大多数が自動でバージョンアップされるようなブラウザの場合、次期バージョンで問題がでないなら対応しない方が安全かもしれません。

原因

2017.5.13現在では原因はまったく特定できておらず、WordPressやエディタ側のバグなのか、Chromeの側の問題なのかも判断がついていません。

目視で確認したのは最近ですが、WrodPressのバージョンが4.7.4になったタイミングで発生したのかどうかも確信がもてません。

英語圏での情報も探したのですが、関連する情報は見つかっておらず、私のPC環境に問題がある可能性も捨てきれません。

ただ、可能性としては、WordPress4.7.4からTinyMCEのバージョンが4.6.0上がった点が一番怪しいとは思っています。

しかしこれも確信がある訳ではなく、単に問題を確認した時期と、記憶にある正常な動作をしていたであろう時期からの推測に過ぎません。

対策

現状では原因が不明のため対策の有無もわかりません。

当座の回避策としては、Chromeでだけ起きているので他のブラウザを使うのがもっとも簡易な方法でしょう。

もちろんボタンを使わなければ問題は起きないのですが、手入力が大変だからボタンを用意しているわけで、ボタンを使わないという回避策はお勧めし難いものがありますね…。

WordPressかTinyMCEかChromeの何れかのバージョンアップ時に解決する可能性も考えられるため、現状では待つしかないのかもしれません。

結び

原因もわからないので意味のある記事ではありませんが、一応web上に症状を記録しておいたほうがよいかなと記事にしてみました。

原因が判明しましたら追記できればと思います(現時点ではまったく目処が付きませんが)。

0人がこの記事を評価

役に立ったよという方は上の「記事を評価する」ボタンをクリックしてもらえると嬉しいです。

連投防止のためにCookie使用。SNSへの投稿など他サービスとの連動は一切ありません。

コメント欄