WordPressで記事を書くときに絵文字を挿入するための
プラグインである「TypePad 絵文字 for TinyMCE」、
なんかここしばらくの間、動作がおかしかったので修正してみました
ちなみに同タイミングと思いますが、
「WP Emoji One」も不具合が発生していましたので
こちらもほぼ同様の対応で復旧しました
不具合内容
絵文字挿入のために下の画像の赤枠で囲ったボタンを押すと
本来はポップアップで絵文字の一覧が表示されます。
(本来表示されるポップアップ)
このポップアップが最近は空白でした・・・。
下の画像は昨日までの状態です
一応、画像データ自体はサーバー上にはあるので、
パスでしっかり指定すれば記事には表示できました。
ただしすっごい不便というわけで今日はそれを調べてみました。
こういうのは他のプラグインとの絡みもあるので
とりあえず色々停止してみたけど解決せず・・・。
そうなると何かのバージョンアップの関連で動かなくなったのかもしれません
次に空白のポップアップ部分をブラウザでソースを見てみました。
そうしたところ、データ自体はちゃんと作られていて、
表示がされていないだけという状態であることが分かりました
その後、Javascriptのファイルなどが存在しているかなど
調べてみましたが、それらは指定されたパスにありそう・・・。
なかなかコレという部分にたどり着けませんでしたが、なんとか見つかりました。
対策方法
ポップアップの表示部分である「window.php」を編集します。
見る部分は<body ・・・>の1行です。
bodyは通常では「style=”display:none”」となっており、
ブラウザでの表示がされないようにスタイルが記載されてます。
ポップアップが動き出してから、
Javascriptで”display:none”を打ち消して表示させるんですね。
なんとなく、これが動いていなくてずっと非表示のままだとしたら・・・
そう思ってスクリプトを逆にしてみたら動いちゃいました
<body id="link" onload="tinyMCEPopup.executeOnLoad('init();');document.body.style.display='';" style="display: none">
↓(スタイルの変更を前にする!もしくはスタイルの非表示はやめる!)
<body id="link" onload="document.body.style.display='';tinyMCEPopup.executeOnLoad('init();');" style="display: none">
もしくは
<body id="link" onload="tinyMCEPopup.executeOnLoad('init();');">
逆にして動くってことは、「init()」のスクリプトの方が
うまく働いていない可能性が高そうですけど、
まぁ使用上はこれで問題なさそうなので、これでいこうと思います
なお、いっそスタイルの表示、非常時の切り替えをなくしてもOKでした。
というか「WP Emoji One」の方のプラグインの場合には
後者でないと動きませんでした
「typepad emoji for tinymce」はどちらでもOKでした。
今回の不具合は私の環境だけなのか、
それとも同じ症状で困っている人がいるのかわかりませんが、
一応メモ代わりに記載しておこうかと思います。
なお、これにより別の不具合が出た場合は・・・すいません
しかしサポートはできないので、自己責任でお願いします
コメント
[…] また、原因を調査すると参考サイトを発見する事が出来ました […]
[…] TypePad 絵文字 for TinyMCEがうまく動かなくなったので対策 […]
[…] また、原因を調査すると参考サイトを発見する事が出来ました […]
[…] 現在使っているワードプレスのプラグイン「TypePad 絵文字 for tinyMCE」で不具合が発生! というか、これを仕事に使っている人から、問い合わせがあり。実際、TinyMCEの編集画面で、右のボタンを押すと、真っ白なポップアップ画面がでてくるだけ。本来この画面一杯の絵文字が表示されるはずが。 さっそく、ネットで検索してみると、あったあった!「ゆとりある生活がいい」さんの記事にビンゴ。 この記事に従って、難なく課題解決!! ありがとう、「ゆとりある生活がいい」さん […]