簡體   English   中英

嵌入了PDF的iFrame在Chrome中可以正常工作,但在IE11中則不能

[英]IFrame with PDF embed working in Chrome, but not in IE11

我有以下代碼:

var pdfWindow = window.open();
pdfWindow.document.write('<iframe src="data:application/pdf;base64,BASE64STRING" style="width: 100%; height: 100%;" frameborder="0" scrolling="no"></iframe>');

這在Google Chrome瀏覽器中正常運行,但是在IE11中顯示空白頁。

有什么方法可以使其在IE中工作,還是有另一種選擇?

謝謝!

據我所知,Internet Explorer不支持將DATA URI用作IFRAME的來源。

作為替代解決方法,我建議您先在IE瀏覽器中下載PDF文件,然后再使用IE瀏覽器顯示PDF文件。

您可以參考以下代碼:

    function myfunction() {
        var data = "BASE64STRING";
        var fileName = "test.pdf";
        //For IE using atob convert base64 encoded data to byte array
        if (window.navigator && window.navigator.msSaveOrOpenBlob) {
            var byteCharacters = window.atob(data);
            var byteNumbers = new Array(byteCharacters.length);
            for (var i = 0; i < byteCharacters.length; i++) {
                byteNumbers[i] = byteCharacters.charCodeAt(i);
            }
            var byteArray = new Uint8Array(byteNumbers);
            var blob = new Blob([byteArray], { type: 'application/pdf' });
            window.navigator.msSaveOrOpenBlob(blob, fileName);
        } else {
            // Directly use base 64 encoded data for rest browsers (not IE)
            var base64EncodedPDF = data;
            var pdfWindow = window.open();
            pdfWindow.document.write('<iframe src="data:application/pdf;base64,' + base64EncodedPDF+'" style="width: 100%; height: 100%;" frameborder="0" scrolling="no"></iframe>');

        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM