みちのいに!!

自分のメモと、他にもハマる人がいそうなことを書く

XHTMLでニコニコ動画のプレーヤーを埋め込む方法

きっかけ

ただ貼り付けても読み込んでくれない。パースエラーになる。

<script type="text/javascript" src="http://ext.nicovideo.jp/thumb_watch/1397552685?w=490&h=307"></script>
<noscript><a href="http://www.nicovideo.jp/watch/1397552685">【ニコニコ動画】ご注文はうさぎですか? 第1羽「ひと目で、尋常でないもふもふだと見抜いたよ」</a></noscript>

XHTMLにおいては文章中のあらゆる「&」はたとえURL中であっても「&amp;」と記述しないといけないのです。JavaScript書いてる時にそれするのはさすがにめんどくさいので、CDATAセクションにして逃げますが……。このコードでもscript内に&があるのでこれを&amp;に書き換えると動……動かないです。

リンク先のJavaScriptをローカルに置いても動かないので、ニコニコ側で用意しているJavaScriptによって生成されるHTMLが問題なのかな……?正直良くわかりません。

妥協的解決策

またバッドノウハウを積み重ねてしまった……。

1) 普通にHTMLで記述したページを作成してそこに貼り付けます。
2) 問題なくプレイヤーが表示されます。
3) DOMソースを見て当該部分をコピペします。
DOMソースはFirefoxの場合、適当な部分を選択して右クリック→選択した部分のソースを表示で見れます。他のブラウザは知りません。ググってください。
4) embedタグだけ閉じてないので閉じておきます。

<embed ~~~~~~~~~~~~ >

<embed ~~~~~~~~~~~ />

にするだけです
以上です。

今後

もっとcoolな解決策を見つけられるようになりたい(戒め)