mirror of
https://github.com/openfaas/faas.git
synced 2025-06-09 00:36:46 +00:00
Changed the download functionality to cover IE.
Since IE doesn't work well with `.click()` (because of access denied) we can take advantage of the `navigator.msSaveOrOpenBlob`. https://stackoverflow.com/questions/46232980/click-giving-access-denied-in-ie11/46233123#46233123 Signed-off-by: Ken Fukuyama <kenfdev@gmail.com>
This commit is contained in:
parent
c633fbb96d
commit
4877a60aee
40
gateway/assets/script/bootstrap.js
vendored
40
gateway/assets/script/bootstrap.js
vendored
@ -88,39 +88,21 @@ app.controller("home", ['$scope', '$log', '$http', '$location', '$interval', '$f
|
||||
var tryDownload = function(data, filename) {
|
||||
var caught;
|
||||
|
||||
var linkElement = document.createElement('a');
|
||||
try {
|
||||
var blob = new Blob([data], { type: "binary/octet-stream" });
|
||||
var url = window.URL.createObjectURL(blob);
|
||||
|
||||
linkElement.setAttribute('href', url);
|
||||
linkElement.setAttribute("download", filename);
|
||||
|
||||
var clickEvent;
|
||||
|
||||
if((navigator.userAgent.indexOf("MSIE") != -1 ) || (!!document.documentMode == true )) { // for IE 11
|
||||
clickEvent = document.createEvent("MouseEvent");
|
||||
|
||||
clickEvent.initMouseEvent("click", /* eventName */
|
||||
true, /* bubbles */
|
||||
false, /* cancelable */
|
||||
window, /* view */
|
||||
0,0,0,0,0, /* detail, screenX, screenY, clientX, clientY */
|
||||
false, /* ctrlKey */
|
||||
false, /* altKey */
|
||||
false, /* shiftKey */
|
||||
false, /* metaKey */
|
||||
0, /* button */
|
||||
null /* relatedTarget */
|
||||
);
|
||||
} else {
|
||||
clickEvent = new MouseEvent("click", {
|
||||
"view": window,
|
||||
"bubbles": true,
|
||||
"cancelable": false
|
||||
});
|
||||
if (window.navigator.msSaveBlob) { // // IE hack; see http://msdn.microsoft.com/en-us/library/ie/hh779016.aspx
|
||||
window.navigator.msSaveOrOpenBlob(blob, filename);
|
||||
}
|
||||
linkElement.dispatchEvent(clickEvent);
|
||||
else {
|
||||
var linkElement = window.document.createElement("a");
|
||||
linkElement.href = window.URL.createObjectURL(blob);
|
||||
linkElement.download = filename;
|
||||
document.body.appendChild(linkElement);
|
||||
linkElement.click();
|
||||
document.body.removeChild(linkElement);
|
||||
}
|
||||
|
||||
} catch (ex) {
|
||||
caught = ex;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user