在src更改后,iframe不会加载内容使用Javascript

时间:2016-01-29 14:53:33

标签: javascript html pdf iframe appendchild

我目前正在编写一个应该在website上运行的info terminal 它有一个<iframe>,显示从menu

中选择的内容

菜单包含PDFsSchedule的员工 PDF readerSchedule都在单独的HTML文档中 它们都很完美,但是!

当我更改frame内的文档src时出现问题。

var iframe = document.getElementById('iframe');
iframe.src = src_clicked;

我正在使用pdf.js来呈现PDF。我在<canvas>上呈现每个页面,并将它们全部附加到<div>。 当我用PDF启动页面时,一切正常!但是当我的iframe之前有一个不同的src时,它不会再将渲染的页面附加到我的容器中。

我尝试像这样在iframe中重新加载页面。但它没有做任何事情。

var ifrm = document.getElementById("iframe");
var iframeDoc = ifrm.contentWindow.document;
ifrm.contentWindow.location.reload(true);


这就是我用pdf.js渲染PDF的方式:

PDFJS.getDocument(pageUrl).then(function(pdf) {
        var currentPage = 1;
        var pages = [];
        pdf.getPage(currentPage).then(renderPage);
        function renderPage(page) {
            var canvas = document.createElement('canvas');
            ... //define renderContext
            var renderContext = { ... };
            page.render(renderContext).then(function () {
                if(currentPage < pdf.numPages + 1) {
                    pages[currentPage-1] = canvas;
                    pdf.getPage(currentPage++).then(renderPage);
                }
            });
        }
    });

我不知道我在这里做错了什么 请帮帮我

1 个答案:

答案 0 :(得分:0)

我刚刚解决了这个问题:

显示PDF时,我删除了iFrame:

document.getElementById('container').innerHTML = "";

loadPDF(pdfPath);

并将文档正确附加到<div>


当我再次显示网页内容时,我会添加一个新的iFrame:

document.getElementById('container').innerHTML =
         '<iframe id="iframe" type="text/html" src="' + websiteURL + '" ></iframe>';

并给它全尺寸:

#iframe{
    width:  100%;
    height: 100%;
    display:block;
}