#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 не скрывает свои внутренние компоненты, поэтому его содержимое можно изменять.