Загрузка внешней пользовательской страницы и выполнение пользовательской CSS или Javascript на странице - PullRequest
0 голосов
/ 05 февраля 2020

Я создаю онлайн-портал документов, который поддерживает все форматы Microsoft Office. Вместо того, чтобы создавать свой собственный модуль, я использую Google Docs Online Viewer, так как он уже выполняет эту задачу должным образом, моя единственная проблема заключается в том, что он загружает панель инструментов заголовка, чего я не хочу.

возьмем, к примеру, этот пользовательский pdf-URL (я просто гуглил для любого pdf-документа), панель инструментов навигации внизу, но заголовок toobar, я хочу, чтобы он был скрыт - все в iFrame.

https://docs.google.com/viewer?url=http://www.scorpioncomputerservices.com/Press%20Coverage/Billgates.doc&embedded=false&controls=false

enter image description here

После проверки элемента на Chrome я обнаружил раздел кода, управляющего элементом, проблема в том, как скрыть этот элемент при загрузке страницы , заставляя скрипт / стиль выполняться на странице при загрузке.

enter image description here

я хотел бы знать, есть ли способ заставить - удалить или скрыть элемент, управляющий панелью инструментов внутри iFrame, или, что еще лучше, если есть какие-либо альтернативы тому, что я намерен сделать. мой код выглядел бы так:

var obj = iframe.document.querySelectorAll('[role="toolbar"]');
obj.parentNode.removeElement(obj);

// or - i'm not sure anyof this would work.. and since it is loaded inside an iframe 
// how do i execute this. 

obj.remove();

Я не хочу, чтобы моя аудитория могла загружать документ, очевидно, любопытные разработчики могли бы найти способ, но это будет менее 2% - 5% от Всего пользователей. Как мне go об этом, пожалуйста, используя javascript / CSS / или любую библиотеку.

1 Ответ

0 голосов
/ 05 февраля 2020

Если вы измените переменную GET embedded на true, программа просмотра не будет отображать верхнюю панель, однако невозможно изменить страницу внутри iFrame, так как Google включил межсайтовую защиту, поэтому браузер не позволит вам работать любой javascript для изменения содержимого iFrame.

Единственный способ использовать средство просмотра документов Google - это заставить ваш сайт загрузить его в фоновом режиме (без использования iFrame) и изменить его перед обслуживанием. страница для пользователя.

Или я рекомендую использовать альтернативный JS Просмотрщик PDF с открытым исходным кодом, например Просмотрщик JS

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...