web-dev-qa-db-ja.com

Safariで[リンクファイルを名前を付けて保存...]を選択したときに、バイナリファイルをテキストではなくバイナリとして提供するにはどうすればよいですか?

Ubuntu/Apache 2.2でバイナリファイル(.IPA)を提供しています。 SafariでSave Linked File As...を選択すると、テキストファイルと表示されます。そして、.txt拡張を追加するようにガイドします。ただし、リンクをクリックするだけでダウンロードしても、余分な拡張子は追加されません。

Apache構成ファイルにAddType application/octet-stream .ipa行を追加しました。何が悪いのかわかりません。これはSafariのバグですか、それとも私の設定ミスですか? (1)バグが原因である場合、どうすればこれを回避できますか? (2)または、構成の誤りが原因である場合、どうすればよいですか?

3
Eonil

これはSafariの動作が原因であり、JavaScriptを使用してコンテキストメニューを無効にすることで回避できます。

var browser = navigator.userAgent;
if (browser.toLowerCase().indexOf('safari') > 0)
{
    var allLinks = document.body.getElementsByTagName('a');
    for (var i=0; i<allLinks.length; i++) {
        allLinks[i].oncontextmenu = function() { return false };
    }
}
2
Metalshark