[解決] WordPress 2.5 でビジュアルエディタが使えない件
2008年04月05日 03:22
今度はビジュアルエディタの件について、まとめてご報告してみようかなと思います。
下記のコメントを watanabe さんからいただいて試してみたら、うまくいきました。ありがとうございます。ブラウザのキャッシュとかキャッシュされたファイルそのものばかり問題にしていて、「キャッシュを使う」仕組みが他にあったり gzip 圧縮でレスポンスを返していることに気づきませんでした。なるほど。そういや、ついこの前に出てたオライリー本に gzip 圧縮を使おうとか書いてるのを読んでたのに、この現象と繋げて考えてもいませんでした。
エラー: unterminated string literal
ソースファイル: http://www.markupdancing.net/wp-includes/js/tinymce/tiny_mce_config.php?ver=20080327
行: 374, 列: 12
ソースコード:
wmp_options:”Windows
エラー: jQuery(”#media-buttons a”).tTips is not a function
ソースファイル: http://www.markupdancing.net/wp-admin/js/common.js?ver=20080318
行: 45
以上の二つのエラーが出ています。ここまでやってみたのは、
・TinyMCE を最新版にアップデート
・/wp-content/uploads/js_cache 内のキャッシュを削除
・Firefox のキャッシュを削除
・wp-config.php の WPLANG を en に固定
・/wp-includes/tinymce/tiny_mce_config.php の addI18n プロパティ呼び出し行に
tinyMCEPreInit.start(); を先行させる。
一つずつ試してみましたが、やはりビジュアルエディタは有効となりません。ていうか、ビジュアル
エディタが有効になっているときに投稿フォームに出てくる、”Visual” - “HTML” の切り替えタブが
そもそもクリックしても動かない。クリックすると、
エラー: tinyMCE is not defined
ソースファイル: http://www.markupdancing.net/wp-admin/js/editor.js?ver=20080325
行: 73
というエラーになるのでした。要するに TinyMCE の本体が動いてないか、オブジェクトが
生成されていないということですかなぁ。
もうちと調べてみよう・・・

えーと、この30分くらいのあいだ、ごっそり MD のディレクトリ全体を消してから
WP 2.5 をインストールしなおしてみました(DBはそのまま)。その後でプラグインを
入れてみたのですが、やはりビジュアルエディタはそのままですね・・・
http://www.markupdancing.net/wp-images/mdwp2.5.png
ちなみに使ってるプラグインを一個ずつ無効にしてみましたが、同じです。
Akismet 2.1.4
Backup Restore 1.5
Google XML Sitemaps 3.0.3.1
SimplePie Core 1.1.1
SimplePie Plugin for WordPress 2.2.1
Time Zone 1.5
WP-Amazon 2.0 Beta 1.1+wp22
↑ WP-Amazon をお使いの方はご存知のように、2.1 が出てるというアナウンスは
あるのですが、実はどこからも正常なファイルをダウンロードできません。恐らく
開発者が公開を止めてしまったのかもしれません。
投稿:philsci / 2008-04-06 at 2008-04-06 01:55
ここに書いてたXSSネタですが、どうやら管理者だけ URL を書き込むと勝手にリンクが付くようです。
なので、一般ユーザがタグを書こうとすると、
というエラー文が出るので、ひとまず安心です。なんだ。
投稿:philsci / 2008-04-06 at 2008-04-06 03:11
Firebug で調べてみたところ、ファイル名は tiny_mce_config.php ですが、実際は
wp-lang.php にある多言語バーションの表示メッセージ類を各言語に置き換えようとして、
途中でちぎれているのではないかと思われます。
そこで、$language として global で引っ張ってるところを全て ‘en’ にハードコーディング
し直してから wp-config.php に define (’WPLANG’, ‘en’); を指定してみたのですが、
これでも tiny_mce_config.php が途中でちぎれてしまっているというエラーが出ていますね。
なかなか難物。PHP で JavaScript のコードを出力しようとしてるわけですね・・・・
投稿:philsci / 2008-04-07 at 2008-04-07 23:57
某開発系サイトでは、Firefox のキャッシュを 0 MB にして JavaScript を無効にして再起動した後、
再び JavaScript を有効にしてスーパーリロードをかけると、ボタンが正しく表示されました。
MD についても、TinyMCE 周りでアップデートしたりコードをいじくったりしているので、
もういっかい 2.5 の公開版のコードで上書きしなおしてみます。
・・・ていうか、WP-Amazon の画像ドロップさえ使えてればビジュアルエディタはふだん使って
ないんですけどねw。
投稿:philsci / 2008-04-08 at 2008-04-08 14:12
ふむ・・・
/wp-admin, /wp-includes と、/wp-content/uploads/js_cache を削除してから
ノーマルな WP2.5 の該当ディレクトリをごっそりアップロードしてみて、上記の
サイトと同じくキャッシュを 0MB にしたり JavaScript を切ってみたりしたのですが、
どうも MD はうまくビジュアルエディタが使えないようですね。
ていうか、マルチドメインで運営しているため、Virtual Directory 上ではすぐ隣の
ディレクトリどうしなので、データベースやサーバの環境も全く同じなんですが・・・(笑。
投稿:philsci / 2008-04-08 at 2008-04-08 21:44
膠着状態が続いています。
アウトのサイト(ここ)とセーフのサイト(某開発系サイト)では、使っている
プラグインがまったく同じなので、プラグインのせいというわけではなさそう。
また、プラグインで TinyMCE を使っているわけでもないから、TinyMCE どうし
の競合が起きているわけでもありません。
・・・あとは書いてる中身が或るいみで過激か(ここw)どうかという違いくらい。
投稿:philsci / 2008-04-13 at 2008-04-13 01:58
はじめまして。おなじ現象でこまってたらこちらのサイトの記事にヒントをいただきました。もしかしたら解決済みかもしれませんが、私のやった方法をご報告します。 (1)tine_mce_config.phpの ”Stream to client header( ‘Content-Length: ‘ . strlen($content) );” をコメントアウト (2)// Generate GZIP’d content および // Use cached file if exists 直下のif文をコメントアウト でなんとか動きました。ありがとうございました。
投稿:watanabe / 2008-04-18 at 2008-04-18 09:33
watanabe さん、こんばんは。
こちらもうまくいきました。ありがとうございます。
ブラウザと /js_cache のキャッシュしか考えていなくて
gzip 圧縮には気づいていませんでした。なるほど。
投稿:philsci / 2008-04-18 at 2008-04-18 22:10
philsciさん
お役にたってよかったです!
投稿:watanabe / 2008-04-23 at 2008-04-23 12:28
こんばんは。
教えていただいたやりかたを本家のフォーラムにてご紹介しました(watanabe さんをクレジットさせていただきました)。少なくとも一人は同じやり方でうまくいったようです。
投稿:philsci / 2008-04-24 at 2008-04-24 23:52
はじめまして、同じ現象でググッてこちらにたどり着きました。
ほんとやっかいな現象です。
バージョン2.5.1でこちらの手順どおりやってみましたがいまだ解決に至っていません。
ちなみに、// Stream to client の部分の if 文は 2.5.1 ではなくなっていました。
どなたか 2.5.1 でも解決されていますでしょうか。
投稿:takoyaki / 2008-06-25 at 2008-06-25 10:41
@takoyaki さんこんにちは。
本家のフォーラムでも、まだ直っていない人が多いようです。
ひとまず解決したパターンは、
・ストリームデータの圧縮(gzip)をやめること
・WPLANG 定数の定義
・キャッシュの削除
・プラグインに同梱されている TinyMCE のアップデート
などとなっています。
なんだかユーザさんによって原因が色々とあるみたいな気もするので、
IE の場合は Web Developer ツールバー、Firefox の場合は Firebug など、
JavaScript の処理をトレースできるツールで確認してみるなどの手も
考えられます。あまりヒントがなくて恐縮です。
—–
philsci@会社
投稿:philsci / 2008-06-25 at 2008-06-25 14:49
philsci さん、お返事ありがとうございます。
一度試してみます。
それにしても、デスクトップ2台ではビジュアルがだめなのに
同じローカルのノートからだと表示されたり、
最初はOKだったのに途中からダメになったりと
頭の中が????状態です。
ありがとうございました。
投稿:takoyaki / 2008-06-26 at 2008-06-26 09:07