Как вызвать родительскую функцию окна в браузере Chrome?

ПРИВЕТ, я удивительно нашел, что проблемы, в браузере Chrome, в вызове окна порождают функции JavaScript. Если у меня есть окно с функцией, определяемой JavaScript в нем

<script type="text/javascript">
  function dolink() {
   . . .
  }
</script>

и у меня есть iframe в том окне, которое выполняет этот вызов с помощью jQuery

<script type="text/javascript">
 $(function() {
      $('a.arglink').click(function() {
         window.parent.dolink($(this).attr('href'));
         return false;
      });
 });
</script>

вызов к скупой раздаче функции не работает. Ступая с хромовым отладчиком JavaScript, кажется, что window.parent.dolink не определен. Именно дизайном или ошибкой я сделал? В Firefox и IE это хорошо работает.

6
задан Pier Luigi 31 March 2010 в 06:14
поделиться

2 ответа

Наконец-то нашел!

Похоже, что браузер Chrome не позволяет ссылаться на родительское окно, обращающееся к страницам, с протоколом file: . Фактически, я тестировал приведенный выше код с файлами на своей машине, поэтому с URL-адресом типа file: /// C: /mytests/mypage.html . Если я помещу эту страницу на веб-сервер, все будет работать, как ожидалось.

9
ответ дан 8 December 2019 в 16:00
поделиться

Что насчет использования frameElement и ownerDocument

<script type="text/javascript">
 $(function() {
      $('a.arglink').click(function() {
         window.frameElement.ownerDocument.parentWindow.dolink($(this).attr('href'));
         return false;
      });
 });
</script>
2
ответ дан 8 December 2019 в 16:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: