サポート » プラグイン » TinyMCE Advanced 導入済み環境で、プレビューボタンを押すと勝手に改行が入る。

    1. TinyMCE Advancedの設定で「段落タグの保持」がオン
    2. 投稿の編集画面で、
      1. ビジュアル・テキストのタブを切り替え
      2. テキストの状態で、ブロック(pやdivなど)に囲われていないテキストがある状態でプレビュー

    とやると、プレビューボタンを押すたびに、ブロックで囲われていないテキストの前後に改行が差し込まれる。
    ちなみにプレビューボタンの他に、下書き、保存ボタンも同様です。

    どなたか改善方法をご存知でしたらご教授ください。

    • このトピックは yakiniku48が4 ヶ月、 2 週間前に変更しました。
6件の返信を表示中 - 1 - 6件目 (全6件中)
  • モデレーター のむらけい

    (@mypacecreator)

    改行などが補完されるのはwpautopという関数によるもので、文章を書くときにエディタ内でわざわざ<br>とか<p>とか書かなくて良いようにしてくれています。

    TinyMCE Advancedの設定項目の注意書きにあるように、

    段落タグの保持

    保存時に <p> と <br /> タグを削除せず、テキストエディタ上に表示する テキストエディターの自動補完を停止し、より高度なコーディングが可能です。 しかし、まれに予想できない振る舞いをするため、常用前に充分テストを行ってください。 なおテキストエディター内での改行は出力に含まれます。このため空の行や HTML タグ内の改行、複数の <br /> タグは使用しないでください。

    という感じで、なかなか癖のある関数であり、このチェック項目も、癖のある機能の挙動を変えるということで、さらに癖のある設定項目ではあります。

    これを無効化する場合、当該のチェックをOFFにしたうえで以下の情報のような方法を取る方が多いようです。
    https://qiita.com/jyokyoku/items/c560b0d1eacc1df61620

    ただ、この方法による副作用もよく聞きます。(プラグインで出力している箇所など本文以外にも影響したり)
    必ずテスト環境でチェックしてから、用法用量を守ってお使いください。

    一番良いのは、あまりTinyMCEの中でHTMLタグをそのまま貼らないことなんでしょうが。。。

    @mypacecreator さん

    メッセージありがとうございます。
    でもちょっと違うんですよ。
    brタグが入るのではなくて、本当の改行が挿入されるんです。

    ↓ キャプチャ
    https://gyazo.com/8f893bd8e98bd82d3fd6aa7d87ff2357

    謎なのです(汗

    モデレーター のむらけい

    (@mypacecreator)

    おおお…たしかにこれはちょっと違いますね。。。
    そしてこの動きは初めて見ました。。。こちらの環境では発生していません。
    うーん、なんでしょう…ブラウザ変えても起こりますか??

    月並みですが、テーマ変えても起こるか・他のプラグインを止めたりしてみてどうか、あたりをチェック

    ほかのPC環境でどうかチェック

    とかでしょうか。

    @mypacecreator さん

    どのテーマでも同じ現象です。
    当方ではMacのChrome, safariでしか確認できてませんが、納品先のクライアント様環境ではWindowsでも発生しているそうです。

    クライアント様も「何なんですかね、この現象(笑」という雰囲気なので助かってますが、制作サイドとしてはとても気持ちの悪いですよね。

    モデレーター のむらけい

    (@mypacecreator)

    これ、私の環境でも再現しました!なんじゃこれ!(笑)
    しかも、またビジュアルエディタに切り替えたら普通にp要素1つ分に収まるんですね、、、

    ということでプラグインのコードを追ってみました。
    あまり得意な分野じゃないのでざっくりしか見れてませんが、プラグイン内のJavaScriptに、addLineBreaksという関数を見つけたので、おそらくなんにも囲まれていないテキストが適切に<p>要素で囲まれるように、わざわざ改行が入るように処理を入れているような感じがしました。
    (なんにも囲まれていないテキストはXHTML時代はNGだったからかな?と推測。)

    この関数を見つけて、当該機能の注意書きに

    なおテキストエディター内での改行は出力に含まれます。このため空の行や HTML タグ内の改行、複数の <br /> タグは使用しないでください。

    とあるのは、エディタの「空白行をpに変換する機能」は生きてるから気をつけろよ、ということで、なんとなく腑に落ちたような気がしたのでした。

    私の結論としては「不具合じゃなくてプラグイン側で意図的に入れてる処理」としたいと思います。
    (自信はないのでもっと詳しい人いたら補足いただけると助かります…!)

    @mypacecreator さん
    わざわざ調べていただいてありがとうございます!!

    うーむ、「プラグイン側で意図的に入れてる処理」と結論付けるのはちょっとなぁ……。
    詳しい人がこのスレッドに気づいてもらえることを祈りつつ、もう少し様子を見てみます。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • このトピックに返信するにはログインが必要です。