【WP】Tablepressの編集画面が壊れた…?

2019年3月5日WordPressTablePress,Xdomain,Xfree,トラブル,プラグインWordPress,TablePress,Xdomain,Xfree,トラブル,プラグイン

久しぶりに書くブログ、そしてこれも久しぶりなWordPressの記事。
内容はタイトルの通りなんですが、発症から数ヶ月越しで解決できたので、忘れないよう書き残しておきます。

不具合の内容はこれだ!

結構前からTablePressという、表データを扱えるプラグインを使っていたんですよ。
ところが、とある日を堺に表データを編集するための画面で、ボタンやらテキストボックスやらが一切機能しなくなったんですよね…。

確認できた症状
確認できた症状

原因は?

レンタルサーバー会社による、広告の差し込み。

いやいやまさかね…(;´∀`)、、、という感じですが…。
実際に検証してみるとこれが原因で間違いなさそうでした。

ちなみに私はXFREE(旧 XDOMAIN)の無料サーバーを使ってるんですが、おそらくこの環境特有の不具合のようです。

具体的な原因の箇所を確認してみた

順を追って書いちゃうとちょっと長くなりそうなので要点だけ書きます。

TablePressの編集画面でロードされる mce-view.min.js

この手のUIには当然Javascriptが使用されていまして、TablePressの編集画面ももちろん使ってるわけです。

で、JavaScriptのファイル群を読み込むときに、load-scripts.php ってモジュールを使うんですけど、これはスクリプトから不要なものを排除した軽量版をロードするためのモジュールなんです。

タイトルにある「mce-view.min.js」も同様にロードされるんですが、ここで問題が発生するわけです。

XFEEの自動広告タグに侵食された mce-view.min.js

XFEEの自動広告って、<BODY>タグの後ろの”>”を目印にして、その後に広告用のタグを差し込んでいるようなんです。

しかもその広告タグの頭には改行コードが入ってたりするわけなんですね~。

そして、今回問題になった「mce-view.min.js」の中にも<BODY>タグがあって、ここにも改行付き広告タグが突っ込まれてたわけなんです。

つまりこういうこと。

原因
原因

これが原因でJavaScriptがエラーを起こし、編集画面のボタンやテキストボックスに影響がでてたわけですよ。

回避策を調べてみた

偶然同じ症状に遭遇してる方が書いた記事を見つけたので、参考にさせてもらいました。

リンクは下記。

https://secure.xfree.ne.jp/bbs/detail.cgi?td=246

mce-view.min.js を少しいじって回避する

リンク先に書いてあるまんまの対応なんですが、自動広告が差し込まれても問題がないように、上手くコメント内に誘導しちゃう、、、という感じですね。

回避策
回避策

さいごに

いやー直ってよかった!

でも根本原因はXFEEの自動広告システムにあるっぽいんで、それが直らないとWPの更新のたび確認しないとなんですよねぇ~。(^_^;)

でもこれでようやく表データの編集ができる…!