2016-08-20 99 views
1

我最近发布了一个问题,并建议将其作为一个答案,但它不工作。为什么?JavaScript函数切换功能不工作

<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。但它不工作

+0

检查'elem.src'的值并将其与其他变量进行比较......我怀疑你会得到相同的值... – Rayon

+0

“不工作”是什么意思?代码应该很好地切换src属性,但由于跨源策略,内容可能不会被加载。您在开发控制台中是否有任何错误消息? – Szab

+0

[JavaScript:更改嵌入标签的src-attribute]的可能重复(http://stackoverflow.com/questions/2493706/javascript-changing-src-attribute-of-a-embed-tag) – WhiteHat

回答

0

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

有新元素

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>

更换
+0

这有助于大时间和谢谢你解释它,超级酷:)真的很感激它! – arjwolf