Я создаю надстройку IE 11, которая может читать элемент SVG, обернуть его другим HTML и затем открыть всплывающее окно с вновь созданным HTML-кодом напечатайте его.Crossrider: Extension не может найти динамически генерируемые iframes (IE 11)
Проблема, с которой я столкнулся, заключается в том, что, хотя я включил «Run in IFrame» в моих настройках. Расширение не может найти большую часть фреймов на странице. Обратите внимание, что сайт, на котором я делаю это дополнение, равен https://app.powerbi.com. PowerBI построен с использованием угловых и iframe загружаются динамически.
Вот код, у меня есть:
background.js
appAPI.ready(function($) {
appAPI.browserAction.setResourceIcon('icon.png');
appAPI.browserAction.onClick(function() {
appAPI.message.toActiveTab('print');
});
});
extension.js
function tryPrint($) {
console.log('===', document.location.href , '===')
}
appAPI.ready(function($) {
appAPI.message.addListener(function(msg) {
if(msg === 'print') tryPrint($);
});
});
С выше кода, когда я нажимаю add- на кнопке в браузере, я вижу только эти выходные данные:
=== https://app.powerbi.com/groups/me/reports/4dba04c3-8c3e-4e9e-abb8-a1fa58165928/ReportSection ===
=== https://app.powerbi.com/ewaIsolation.cshtml ===
Однако следующий IFrame добавляется на страницу динамически, и кажется, что расширение не может его найти.
<iframe sandbox="allow-scripts" name="visual-sandbox" class="visual-sandbox" src="/sandbox?plugin=YourVisual1456308971941" style="width: 1630.17px; height: 922.83px;"> . . . </iframe>