Можно ли динамически добавлять элемент в браузер для просмотра PDF

#javascript #angular #javascript-objects #dom-events

#javascript #angular #javascript-объекты #dom-события

Вопрос:

При открытии PDF-файла в браузере необходимо добавить значки шрифтов и задать некоторые действия.

Я открыл PDF-файл внутри iframe в браузере, в верхней части панели инструментов бумаги есть 3 значка.

1) Повернуть 2) Распечатать 3) Загрузить.

Необходимо добавить еще один элемент. Возможно ли это сделать на Javascript?

 <html>
<head>
 <link href=" https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet"/>
    <script src="http://code.jquery.com/jquery-2.2.4.js" integrity="sha256-iT6Q9iMJYuQiMWNd9lDyBUStIq/8PuOW33aOqmvFpqI=" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<iframe id="myFrame" style="display:none" width="600" height="300">
 <i class="fa fa-bell" >Hello</i>
<button type="button" >Hellos</button>

    </iframe>
<input type="button" value="Open PDF" onclick = "openPdf()"/>
<input type="button" value="Open PDF1" onclick = "openPdf1()"/>
<script type="text/javascript">
function openPdf()
{
var omyFrame = document.getElementById("myFrame");
omyFrame.style.display="block";
omyFrame.src = "AngularJS-Brad-Green-Shyam-Seshadri(www.ebook-dl.com).pdf";
document.getElementById("myFrame").className = "fa fa-bell";

   var btn = document.createElement("button");  
    var t = document.createTextNode("CLICK ME");
    btn.appendChild(t);
    document.body.appendChild(btn);



}

function openPdf1()
{
var omyFrame = document.getElementById("myFrame");
omyFrame.style.display="block";
omyFrame.src = "dummy_pdf.pdf";
}

</script>
</body>
 

Ничего не работает. введите описание изображения здесь
введите описание изображения здесь

Комментарии:

1. Я немного поиграл с плагином. Не удалось получить доступ к панели инструментов, не открыв ее сначала в chrome dev tools. Вы можете попробовать использовать что-то вроде: viewerjs.org в качестве альтернативы.

2. @Vladimir M Итак, нет способа редактировать или переопределять функции встроенных в браузер плагинов с помощью javascript, верно? если я программно отключу плагины браузера и использую viewerjs и добавлю туда элемент, значит, это сработает?

3. этот конкретный плагин использует shadow DOM для рендеринга своих подкомпонентов. Невозможно получить доступ к ним из внешнего javascript. viewerjs не скрывает свои внутренние компоненты, поэтому его содержимое можно изменять.