JavaScript函数开关函数不工作

JavaScript Function Switch Function Not Working

本文关键字:函数 工作 开关 JavaScript      更新时间:2023-09-26

我最近发布了一个问题,并建议这是一个答案,但它不工作。为什么?

<div class="text-center">           
    <embed src="https://www.setasign.com/files/demo-files/pdfs/lenstown/Fact-Sheet.pdf" width="300" height="300" type='application/pdf' id="thePdf">
</div>
<div class="button">
    <button class="btn-info" type="button" onclick="switchPdf();">Search</button>
</div>
<script>
function switchPdf() {
    var fileA = 'https://www.setasign.com/files/demo-files/pdfs/lenstown/Fact-Sheet.pdf',
        fileB = 'https://www.setasign.com/files/demo-files/pdfs/tektown/Fact-Sheet.pdf',
        elem = document.getElementById('thePdf');
    elem.src = elem.src == fileA ? fileB : fileA;
}
</script>

基本上有一个默认的PDF加载页面打开,一旦我点击按钮,我想要的PDF更改为另一个PDF。

<embed><object>等的src属性变化
不生效

必须替换为新元素

function switchPdf() {
    var fileA = 'https://www.setasign.com/files/demo-files/pdfs/lenstown/Fact-Sheet.pdf',
        fileB = 'https://www.setasign.com/files/demo-files/pdfs/tektown/Fact-Sheet.pdf',
        container = document.getElementById('thePdfContainer'),
        elem = document.getElementById('thePdf');
    var newFile = (elem.src === fileA) ? fileB : fileA;
  
    container.innerHTML = '<embed src="' + newFile + '" width="300" height="300" type="application/pdf" id="thePdf">';
    console.log(container.innerHTML);
}
<div id="thePdfContainer" class="text-center">           
    <embed src="https://www.setasign.com/files/demo-files/pdfs/lenstown/Fact-Sheet.pdf" width="300" height="300" type='application/pdf' id="thePdf">
</div>
<div class="button">
    <button class="btn-info" type="button" onclick="switchPdf();">Search</button>
</div>