毎日モザイク

White Room Layout Works

2009-04-02T03:38:08+09:00 [Thu]
--> [WordPress]

quicktags.js

WordPressの投稿画面のタグボタンの、ins,delの時間帯問題は有名で、解決策がよく乗ってますが、これには他の問題もあります。

時間帯問題の解決策は、

/*wp-includes/js/quicktags.js 27行目界隈*/

var now = new Date();
var datetime = now.getFullYear() + '-' +
zeroise(now.getMonth() + 1, 2) + '-' +
zeroise(now.getDate(), 2) + 'T' +
zeroise(now.getHours(), 2) + ':' +                     
zeroise(now.getMinutes(), 2) + ':' + 
zeroise(now.getSeconds() ,2) +
'+09:00';

と、元のコードで、getUTC〜になっているところから、’UTC’を取って、ローカルタイムにして、+00:00になっているところを+09:00に書き換えるというものです。

これ、コードを追っていくと、ここの部分はjsが読み込まれるときに一度だけ評価され、ins,delなど、日付を使うボタンに入れる要素として、配列に入っちゃってます。

ようするに、onclickイベントの時には、既にquicktags.jsがブラウザに読み込まれて、ボタンが作成されたときに入っている時刻が使われていて、「ボタンをクリックした瞬間の時刻が表示される」という、期待される動作をしてくれません。

自動保存もXMLHttpRequestでやっているらしく、ページのリロードを伴わないため、最初に投稿画面を開いたときの時刻が使われ続けます。これは不便。

insやdelの時間なんか、大体合ってればいいんですが、毎日新聞の誤報の例もあるので、多少は気をつかった方がいいかも。

onclickイベントのときに、時刻を取り直すように書き換え……

てくれないかなw。

時間が空いたら自力でやるか……。JavaScriptはあんまし得意じゃないんですが、この程度ならなんとかなるだろw。