web-dev-qa-db-fra.com

Comment créer un fichier binaire sous forme de fichier binaire et non de texte lorsque l'utilisateur choisit "Enregistrer le fichier lié sous ..." dans Safari?

Je sers un fichier binaire (.IPA) avec Ubuntu/Apache 2.2. Lorsque j'ai choisi Save Linked File As... dans Safari, le fichier texte est indiqué. Et cela me guide pour ajouter l'extension .txt. Cependant, il n’ajoute aucune extension supplémentaire lorsque je le télécharge en cliquant simplement sur le lien.

J'ai ajouté la ligne AddType application/octet-stream .ipa dans le fichier de configuration Apache. Je ne sais pas ce qui ne va pas avec ça. Est-ce un bug de Safari ou de ma mauvaise configuration? (1) Si c'est causé par un bug, comment puis-je éviter cela? (2) Ou si cela est dû à une mauvaise configuration, que dois-je faire?

3
Eonil

Cela est dû au comportement de Safari et peut être évité en utilisant JavaScript pour désactiver les menus contextuels:

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