【WordPress】RSS (rdf) が配信されない件【解決】
WordPress 2010/1/21 22:03このページの RSS (index.rdf) が読み込めないとご連絡をいただきました。(教えていただき、ありがとうございます!)一応自分の RSS は購読していて、動作の確認をとっていたので、びっくりしてしまいました。最近、アクセス数が伸びてきたので、とうとう転送容量オーバーしてしまったのかと思って慌ててしまったのですが、RSS リーダーではなく Firefox から rdf にアクセスすると、白紙ページ。rss、feed は正常に動いているので、rdf の何かがおかしいということがわかりました。Feed や RSS 関係は Yahoo! ブログ検索や goo ブログ検索にインデックスさせるため、リダイレクトしたり配信時刻を日本標準時に変えたりといろいろといじっていたので、原因を切り分けるのが大変でした。
結論からいうと、原因はPowerBookG4 を SSD 化するとこれくらい速くなるの投稿記事部分に Flash ビデオ (FLV) を表示するために JavaScript をベタ書きしていたことでした。Feed を全文配信していると、RDF では JavaScript だと解釈されないためにエラーになって白紙で表示されていたようです。
対策としては記事部分にベタ書きしてある JavaScript のコードを HTML のコメントアウトすることで解決しました。具体的には、下記の太字の部分を追加。
<script type="text/javascript" src="http://www.1010uzu.com/js/swfobject.js"></script><br />
<script type="text/javascript">
<!--
var s1 = new SWFObject("http://www.1010uzu.com/swf/jw/player.swf","ply","320","262","9","#FFFFFF");
s1.addParam("allowfullscreen","true");
s1.addParam("allowscriptaccess","always");
s1.addParam("flashvars","file=http://www.1010uzu.com/wp/wp-content/uploads/20091215_2.flv&image=http://www.1010uzu.com/wp/wp-content/uploads/20091215_2.gif");
s1.write("JWplayer2");
//-->
</script>
これは、その昔 Netscape3 などが JavaScript を理解しないために、HTML 内に書くときにはコメントアウトするという技で、それを応用してみました。これから、投稿記事内に JavaScript を書くときは気をつけよう。(HTML 内に JavaScript を直書きするのは非推奨ですけどね……)

最近のコメント
2012/2/6 22:53
2012/2/6 17:14
2012/2/5 6:07
2012/2/3 22:03
2012/2/3 2:11
2012/1/27 14:11
2012/1/26 3:30
2012/1/16 22:40
2012/1/26 3:10
2012/1/15 17:20