2004年05月22日

演奏ボタン

AH-K3001V用にPukiWikiに自分専用着メロサイト作ろうと思ったんですが、midをページに添付してそのファイルへのリンクをクリックすると、保存するかどうか聴いてくるだけでそのままでは演奏出来ません。
なのでJavaScriptを利用した演奏ボタンを作成してみました。

以下の赤字の項目を追加してください

PukiWiki 1.4.3  plugin/ref.inc.php 150行目辺り

                'noicon' => FALSE, // アイコンを表示しない
                'nolink' => FALSE, // 元ファイルへのリンクを張らない
                'noimg'  => FALSE, // 画像を展開しない
                'zoom'   => FALSE, // 縦横比を保持する
                'bgm'    => FALSE, // 演奏ボタンの表示
                '_size'  => FALSE, //(サイズ指定あり)
                '_w'     => 0,      //(幅)
                '_h'     => 0,      //(高さ)

同ファイル 345行目辺り

    else    // 通常ファイル
    {
        $icon = $params['noicon'] ? '' : FILE_ICON;
                if ($params['bgm'] and $url)
                {
                        $bgm = " <a href=\"javascript:(function(){document.write('<bgsound src=\'$url\'>$title');document.close();})();\">[演奏]</a>";
                        if(ereg("MSIE",$_SERVER["HTTP_USER_AGENT"])){
                                $bgm = preg_replace("/%/",'%25',$bgm);
                        }
                }
            $params['_body'] = "<a href=\"$url\" title=\"$info\">$icon$title</a>$bgm";
この変更を加えた後、refプラグインを使う際に
&ref(ファイル名.mid,bgm);
とすることでファイルへのリンクの右に[演奏]というリンクを表示させることが出来ます。

あとはそのリンクをクリックすればAH-K3001VのOperaからでもいちいち保存せずに視聴することが出来るようになります( ̄▽ ̄)ノ

にしてもIEでdocument.writeを使うと、勝手にURLエンコードをデコードするの何とかなりませんかねぇ・・・
特に指示がない限りはそのまんま表示するのがルールだと思うんですが。

ちなみに上記のハックではIEの場合だけさらに%をURLエンコードするようにしています。
(FireFoxでは試してないんですが、動かないようなら教えてください。)

Posted by Takuchan at 2004年05月22日 02:11 | トラックバック(0)