Есть ли способ определить изнутри междоменного iframe, виден ли iframe или нет? Я пытался добиться этого с помощью Intersection Observer API. Но, похоже, он работает только для iframe с одним доменом, а не для междоменного. Я проверил документацию API Intersection Observer (как для MDN , так и для W3 C), но не смог найти ничего, связанного с этим. Я надеюсь, что здесь ничего не пропущено.
Вот пример кода
Main Html Страница
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Main Page</title>
</head>
<body>
<div style="margin:700px auto;text-align:center;">
<iframe marginwidth="0" marginheight="0" frameborder="0" height="250px" width="300px"
id="aax_if_aax_sidebar-btf-1" allowtransparency="true" src="http://127.0.0.1:8080/iframe.html"></iframe>
</div>
</body>
</html>
Встроенная страница Iframe
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Iframe</title>
</head>
<body>
<div id="abc" style="background-color: black;width:100%;height: 100%;"></div>
<script>
setupIntersectionObserver = function (adContainer) {
console.log('setting up observer', observer);
var observer = new IntersectionObserver(
function (entries) {
console.log('observer triggered', entries);
},
{
root: null,
rootMargin: '10px',
threshold: 0
}
);
observer.observe(adContainer);
};
setupIntersectionObserver(document.getElementById('abc'))
</script>
</body>
</html>
Если я запускаю главную страницу локально, тогда наблюдатель пересечения внутри iframe работает, только если страница просматривается с использованием 127.0.0.1:8080
, а не для localhost:8080
(междоменный)
Имеет ли Intersection Observer работает внутри междоменного iframe относительно окна просмотра?