目的のファイルがあるかどうかを判別する方法

URLは確実に分かっているのですから、URLの存在確認さえできればOKです。つまり、HTTPアクセスしてResponseのステータスコードを見てやれば良いだけなのです。

http://creazy.net/2008/11/howto_find_youtube_hd_file_api_and_bookmarklet.html

これだけなら、XmlHttpRequestFirefoxGreasemonkeyではGM_xmlhttpRequest関数)だけで取得可能に思えるのですが、ここで一つ落とし穴が。存在確認の対象ファイルが数MB〜数十MBもあるメディアファイルのため、ロードし終わるのに非常に時間がかかってしまいます。

http://creazy.net/2008/11/howto_find_youtube_hd_file_api_and_bookmarklet.html

GM_xmlhttpRequestでは GET | POST でのリクエストしかできないようで、onload時にしかステータスコードを取得できませんでした。だけど、この場合必要なのは HEAD メソッドなのです!

http://creazy.net/2008/11/howto_find_youtube_hd_file_api_and_bookmarklet.html