2014-05-15 3 views
-1

Я пытаюсь получить мои ссылки в currmenu div, чтобы сделать следующее. Мне нужно, чтобы они изменили значение URL-адреса, который находится в javascript. Затем скрипт загрузит новую страницу в PDF-файл.Изменение значения javascript для URL с гиперссылкой

Все файлы, на которые я ссылаюсь, будут внутренними и внутри интрасети компании. Я должен использовать существующий сайт и добавить эту новую функцию. Будем очень благодарны за любую помощь.

<link href="css/pdf.css" rel="stylesheet" type="text/css"> 
<script src="http://code.jquery.com/jquery-latest.min.js" 
    type="text/javascript"></script> 
<script type="text/javascript" src="js/pdfobject.js"></script> 
<script type="text/javascript"> 

window.onload = function(){ 

    var msg; 
    var s = document.getElementById("statement"); 
    var params = { 

     url: "Docs/6-Week Calendar.pdf", 

     pdfOpenParams: { 

      navpanes: 0, 
      toolbar: 0, 
      statusbar: 0, 
      view: "FitV" 

     } 

    }; 

    var myPDF = new PDFObject(params).embed("pdf"); 

    if(myPDF){ 
     msg = "The PDF was successfully embedded!"; 
     s.className = "success"; 
    } else { 
     msg = "It appears the embed didn't work."; 
     s.className = "fail"; 
    } 
      s.innerHTML = msg; 
    }; 
</script> 

</head> 
<body> 
    <div class="currmenulist"> 
    <li><a href="Docs/New Employee onboarding curriculum.pdf">Link 1</a></li> 
          <li><a href="">Link 2</a></li> 
          <li><a href="">Link 3</a></li> 
          <li><a href="">Link 4</a></li> 

</div> 
<div id="pdf">It appears you don't have Adobe Reader or PDF support in this web 
browser. <a href="Docs/6-Week Calendar.pdf">Click here to download the PDF</a></div> <p 
id="statement"> </p> 

</body> 
+0

почему он помечен JQuery? – Jai

+0

Я бы предположил, что он помечен jQuery, потому что у него есть доступное для использования. Ответ, который я написал, использует jQuery и решает проблему. – aecend

ответ

0

Этот код будет работать для вас

window.onload = function() { 

    var params = { 
     url: "Docs/6-Week Calendar.pdf", 
     pdfOpenParams: { 
      navpanes: 0, 
      toolbar: 0, 
      statusbar: 0, 
      view: "FitV" 
     } 
     }, 
     s = document.getElementById("statement"); 

    function loadPDF() { 
     var msg, 
      myPDF = new PDFObject(params).embed("pdf"); 

     if (myPDF) { 
     msg = "The PDF was successfully embedded!"; 
     s.className = "success"; 
     } 
     else { 
     msg = "It appears the embed didn't work."; 
     s.className = "fail"; 
     } 
     s.innerHTML = msg; 
    } 

    var linklist = document.getElementsByClassName('currmenulist')[0], 
     pdfLinks = linklist.getElementsByTagName('a'); 

    for (var k = 0; k < pdfLinks.length; k++) { 

     //here you can add validation, i.e, if href ends with .pdf etc 
     if (pdfLinks[k].getAttribute('href') == '' || pdfLinks[k].getAttribute('href') == '#') 
     continue; 

     pdfLinks[k].addEventListener('click', function (ev) { 
     ev.preventDefault(); 

     params.url = ev.target.getAttribute('href'); 
     loadPDF(); 
     }); 
    } 

    loadPDF(); 
}; 
+0

Большое спасибо. Он работает как шарм. Я надеюсь у тебя был замечательный день. – Wilsons

0

Это должно быть то, что вам нужно:

var msg; 
var s = document.getElementById("statement"); 
var params = { 
    url: "Docs/6-Week Calendar.pdf", 
    pdfOpenParams: { 
     navpanes: 0, 
     toolbar: 0, 
     statusbar: 0, 
     view: "FitV" 
    } 
}; 

window.onload = function(){ 
    var myPDF = new PDFObject(params).embed("pdf"); 

    if(myPDF){ 
     msg = "The PDF was successfully embedded!"; 
     s.className = "success"; 
    } else { 
     msg = "It appears the embed didn't work."; 
     s.className = "fail"; 
    } 
    s.innerHTML = msg; 
}; 

$(".currmenulist a").on("click", function(e){ 
    e.preventDefault(); 
    params.url = $(this).attr("href"); 

    var myPDF = new PDFObject(params).embed("pdf"); 

    if(myPDF){ 
     msg = "The PDF was successfully embedded!"; 
     s.className = "success"; 
    } else { 
     msg = "It appears the embed didn't work."; 
     s.className = "fail"; 
    } 
    s.innerHTML = msg; 
}); 
+0

Если вы установите атрибут href ссылок в PDF-файлы, которые вам нужно загрузить, это предотвратит навигацию страницы и загрузит PDF в div. – aecend

+0

Я чувствую себя настолько глупо, что спрашиваю об этом, но как вы устанавливаете атрибуты href для PDF-файлов? Я попробовал следующее: Link 1 Благодарим за быстрый ответ. – Wilsons

+0

'Link 2' – aecend

Смежные вопросы