La fenêtre de réglage.l'emplacement ou de la fenêtre.ouvert en AngularJS donne “accès refusé” dans IE 11
Je suis certes un AngularJS newbie mais je ne trouve pas pourquoi ce code fonctionne dans Chrome et Firefox, mais donne "Access is denied"
dans la console javascript avec IE 11.
J'ai besoin d'afficher un PDF via un authentifié appel RESTE. Dans l'idéal, ce serait affichée dans une fenêtre (extrait) type de fenêtre.
Code donc loin ressemble:
$http.post( url, payload, {
headers : {
"Authorization": token
},
responseType: "arraybuffer"
}).success(function ( data ) {
var file = new Blob( [ data ], { type: 'application/pdf' });
var fileURL = URL.createObjectURL( file );
window.open( fileURL );
}
La window.open()
donne la "access is denied"
message pour IE11, mais fonctionne dans Chrome et Firefox. J'ai essayé de changer de window.location()
, et a obtenu le même message d'erreur.
Ce n'est pas un problème de domaines (tout est dans la même foo.net de domaine).
- La meilleure façon de le faire serait au lieu de renvoyer le fichier de retour d'une url pour le fichier, puis vous suffit de l'ouvrir dans une nouvelle fenêtre. Pour ouvrir une fenêtre Angulaire utiliser $de la fenêtre (de l'injecter à l'controller) docs.angularjs.org/api/ng/service/$de la fenêtre
- Ie utilise une syntaxe différente pour les fichiers locaux. Utilisation: fenêtre.navigator.msSaveBlob(blob, 'file.txt'); ou d'une fenêtre.navigator.msSaveOrOpenBlob(blob, 'file.txt'); msdn.microsoft.com/en-us/library/ie/hh673542(v=vs. 85).aspx
- Voir stackoverflow.com/a/27257511/54680
Vous devez vous connecter pour publier un commentaire.
Enregistrer le texte dans un fichier local dans Internet Explorer 10
Il ressemble IE blocs de fenêtre.ouvert sur les gouttes, mais de mettre en œuvre leurs propres fonctions pour l'ouverture et l'enregistrement des gouttes. Au lieu d'essayer