リンクをクリックするだけでセーブが行われます。これまでの「右クリック→別名でリンク先を保存」だとタイトルがファイル名に入らないので注意して下さい。なお、ファイル名として利用出来ない文字はアンダースコア(_)に変換されます。
以下、技術面に関していくつか
- このハックは基本的に、ダウンロードを本来のダウンロード処理ではなくXMLHttpRequestを自前で発行する事で処理し、その上でdocument.location.hrefを捏造する事でセーブ時のファイル名を変更するというものです。
- どういうわけか、GM_xmlhttpRequestでないと、この挙動を引き出せないようで、new XMLHttpRequest()で作成したリクエストでは駄目でした。このことからも想像が付きますがSafari+GreaseKitでは残念ながら上手く動作しません。
- readyState==2|3の場合は一旦abort()を呼んでいますが、これはreadyState==4だけを待つようにすると、ダウンロードが完了するまでずっと待たされるハメになるからです。当たり前といえば当たり前なのですが、最初、onloadで処理してハマってしまいましたので、老婆心ながら一応。
0 件のコメント:
コメントを投稿