programing

Angular에서 window.location 또는 window.open을 설정합니다.JS는 IE 11에서 "액세스 거부"를 제공합니다.

skycolor 2023. 9. 24. 12:42
반응형

Angular에서 window.location 또는 window.open을 설정합니다.JS는 IE 11에서 "액세스 거부"를 제공합니다.

저는 Angular임을 인정하건대JS 초보자인데 이 코드가 크롬과 파이어폭스에서 작동하는 이유를 찾을 수 없지만 다음을 제공합니다."Access is denied"javascript 콘솔에서 IE 11.

인증된 REST 통화로 PDF를 표시해야 합니다.이상적으로 팝업(미리보기) 종류의 창에 표시됩니다.

지금까지의 코드는 다음과 같습니다.

$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 );
}

window.open()주는."access is denied"IE11용 메시지이지만 Chrome과 Firefox에서는 작동합니다.로 바꾸려고 했습니다.window.location(), 같은 오류가 발생했습니다.

이것은 교차 도메인 문제가 아닙니다(모든 것이 동일한 foo.net 도메인에 있음).

Internet Explorer 10의 로컬 파일에 텍스트 저장

마치 IE blocks window.open on blocks처럼 보이지만, block을 열고 저장하는 기능을 자체적으로 구현했습니다.대신 시도해 봅니다.

if (window.navigator && window.navigator.msSaveOrOpenBlob) {
    window.navigator.msSaveOrOpenBlob(blob);
}
else {
    var objectUrl = URL.createObjectURL(blob);
    window.open(objectUrl);
}

언급URL : https://stackoverflow.com/questions/27463901/setting-window-location-or-window-open-in-angularjs-gives-access-is-denied-in

반응형