2017-04-12 1 views
1

IE 11에서이 작업을 시도하고 있지만 작동하지 않습니다. 아무도 왜 나에게 설명 할 수 있니? 다른 스레드에서 어떤 대답도 찾을 수 없습니다.창 메서드를 바인딩 할 수 없습니다 : "잘못된 호출 개체"

var navigatorMsSave = window.navigator.msSaveOrOpenBlob; 
navigatorMsSave(new Blob([blob], {type: "application/pdf"}), "File.pdf"); 

오류 코드 : 나는 아래의 코드를 시작하고 때, 모두가 잘 내가 올바른 파일을 다운로드 할 수 있기 때문에 잘못된 호출하는 객체

내 모든 변수 괜찮아.

window.navigator.msSaveOrOpenBlob(new Blob([blob], {type: "application/pdf"}), "File.pdf"); 

고마워요!

답변

0

window.navigator.msSaveOrOpenBlob()을 호출 할 때 컨텍스트 (this 참조)는 navigator입니다. 그러나 당신이 navigatorMsSave()을 할 때, 당신이 부르는 함수의 범위이거나, 당신이 그것을 호출하는 곳에 따라 전역 범위가 될 것입니다.

당신은 지금 그것을 이해, 완전한 대답을

var navigatorMsSave = window.navigator.msSaveOrOpenBlob.bind(window.navigator); 
+0

덕분에 많이 시도 할 수 있습니다. 바인딩이 작업을 할 수있는 완벽한 방법입니다 :) –

관련 문제