裏話
私は、GreaseMonkeyとGoogleChromeの両方で使用することを目的とした特殊な画像インラインスクリプトを作成しました。PNGファイルをダウンロードし、画像属性のdata:
URLに保存することになっています。src
これはばかげているように聞こえるかもしれませんが、特定のWebサイトは画像用に設定Content-Disposition
さattachment
れており、「名前を付けて保存」ダイアログが毎回ポップアップすることを望んでいません。
実際の質問
スクリプトは、を使用してデータをフェッチし、XMLHttpRequest
base64にエンコードして、適切な場所に保存します。これまでのところ、良いです。ただし、FirebugとChrome開発コンソールの両方で実行した場合にのみ機能し、適切なユーザースクリプトとして使用した場合には機能しません。私が理解している限り、これは、Greasemonkeyスクリプトがオブジェクトを直接使用できず、代わりXMLHttpRequest
にへの呼び出しに依存する必要があるためです。GM_xmlhttpRequest
ただし、またはそのように設定responseType
することはできず、パラメーターはPOST要求を介してデータを送信する場合にのみ機能するようです。Unicode文字列しか取得できません。"blob"
"arraybuffer"
binary
念のため、画像はそれらにリンクしているページと同じドメインから提供されます。私はそれが「同一生成元」のものを満足させると信じています。
http://wiki.greasespot.net/GM_xmlhttpRequestここにGM_xmlhttpRequestドキュメントがあります。
arraybuffer
Greasemonkeyユーザースクリプト内からをフェッチする方法はありますか?