У меня есть анимация с использованием Adobe Edge 6. Я пытаюсь включить анимацию внутри iframe
. Код хорошо работает на Chrome
и IE 10
. Но в Firefox я получаю ошибку javascript в библиотеке Adobe Edge TypeError: C.getComputedStyle(...) is null -> edge.6.0.0.min.js Line-77
.Adobe Edge Firefox iframe error
Если я открываю страницу анимации на Firefox 43
, она работает хорошо, я получаю ошибку при включении анимации внутри iframe
.
Animation страница:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<title>Untitled</title>
<!--Adobe Edge Runtime-->
<script type="text/javascript" charset="utf-8" src="/Scripts/edge.6.0.0.min.js"></script>
<style>
.edgeLoad-EDGE-1689000111 {
visibility: hidden;
}
div {
position: absolute !important;
}
</style>
<script>
AdobeEdge.loadComposition('Test', 'EDGE-1689000111', {
scaleToFit: "both",
centerStage: "none",
minW: "0",
maxW: "undefined",
width: "870px",
height: "350px"
}, { dom: [] }, { dom: [] });
</script>
<!--Adobe Edge Runtime End-->
</head>
<body style="margin:0;padding:0">
<div id=" stage" class="EDGE-1689000111">
</div>
</body>
</html>
iframe
используя страницу анимации:
<iframe class="embed-responsive-item" frameborder="0" src="PATH"></iframe>
Да, у родителей есть «дисплей: нет». Эта анимация находится внутри вкладок начальной загрузки. Обходной путь, который я использовал (комментарий к Bug 548397): if (/firefox/i.test(navigator.userAgent)) { window.oldGetComputedStyle = window .getComputedStyle; window.getComputedStyle = function (element, pseudoElt) { var t = window.oldGetComputedStyle (element, pseudoElt); if (t === null) { return {}; } else { return t; } }; } – Freedom
Несомненно, это обходное решение намного лучше, если вы можете управлять кодом iframe. Мое предложение касалось случаев с внешним содержимым iframe (например, рекламные баннеры на странице). Вы нашли какую-либо информацию об устранении этой проблемы в пограничных источниках? Спасибо. –
К сожалению, я не нашел лучшего решения – Freedom