JQuery - Написать в окно открывания - PullRequest
8 голосов
/ 24 июня 2009

У меня есть HTML-страница, которая открывает другую страницу через JavaScript. Когда пользователь нажимает кнопку на другой странице, я хочу опубликовать сообщение в DIV на начальной странице через JQuery. Я не могу указать на это, но не могу заставить это работать. Вот моя открывающая страница

<html>
  <head>
    <script type="text/javascript" src="jquery-1.3.2.min.js"></script>
  </head>

  <body>
    <input type="button" onclick="window.open('dialog.html', '_blank', 'height=200, width=300');" value="launch!" />
    <div id="testDiv"></div>
  </body>
</html>

Когда пользователь нажимает кнопку «Запустить!» Кнопка, появится диалоговое окно. Код для диалога выглядит так:

<html>
  <head>
    <script type="text/javascript" src="jquery-1.3.2.min.js"></script>
  </head>

  <body>
    <input type="button" onclick="updateOpener()" value="Update Opener" />
    <script type="text/javascript">
      function updateOpener()
      {
        var testDiv = window.opener.jQuery("#testDiv");
        if (testDiv != null) {
      alert("here");
      testDiv.html("Updated!");
        }
      }
    </script>
  </body>
</html>

Удивительно, но появляется окно с предупреждением. Тем не менее, я не могу обновить HTML DIV на моей начальной странице. Кто-нибудь знает, как это сделать?

Ответы [ 4 ]

5 голосов
/ 24 июня 2009

Вы ссылаетесь на "verifyDiv". Где этот DIV?

2 голосов
/ 24 июня 2009

Вы не можете сделать это, если родительская страница (открывающая) находится в другом домене. В противном случае ваш код работает отлично.

Кроме того, ваша проверка! = Null, вероятно, не выполняет то, что вы думаете, так как функция jQuery никогда не возвращает null. Если вы проверяете наличие элемента, вам нужно сделать это следующим образом ...

var el = $("#myElementId");
if(el.length == 0)
  alert('Not found!');
0 голосов
/ 24 июня 2009

Как ни странно, ваш пример отлично работает для меня в Chrome, IE 8 и FireFox.У вас есть другие детали?

0 голосов
/ 24 июня 2009

Ммм, это работает для меня в Firefox 3.0.11, IE8 и Chrome 2 ... (т. Е. Кнопка dialog.html обновляет HTML-код на открывающей странице, говоря «Обновлено!»).

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