Javascript: вызов оконной функции верхнего уровня изнутри объекта - PullRequest
0 голосов
/ 08 июня 2018

У меня есть следующая веб-страница:

<!DOCTYPE html>
<html>
  <head>
    <meta charset='UTF-8'>
  </head>
  <body>
    <script>window.bark = function() {
      console.log('woof')
    }
    </script>
    <object role='img'
      data='https://dev.w3.org/SVG/tools/svgweb/samples/svg-files/android.svg'
      onclick='window.bark()' />
  </body>
</html>

Я знаю, что содержимое внутри тега объекта имеет собственный контекст документа, но мне интересно: есть ли способ разрешить объекту вызывать функцию, связанную с окном

1 Ответ

0 голосов
/ 09 июня 2018

Это было бы невозможно при вашей текущей реализации, а не потому, что object window находится в другом глобальном контексте.(Фактически, это событие щелчка даже не внутри документа object. Оно находится внутри верхнего документа, поэтому область действия не будет проблемой.)

Это потому, что вы не можете эффективно слушатьчтобы щелкнуть непосредственно по элементу object.То же самое относится к iframe, например.События нажатия инициируются внутри документа элемента, а не внутри самого элемента.

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