Вопрос по jquery, javascript, html – JQuery - Написать в окно открывания

8

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

<code><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>
</code>

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

<code><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>
</code>

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

Он просто исправил это с помощью своего редактирования. montrealist
Приведенный выше код работает для меня. Colin Brock

Ваш Ответ

4   ответа
0

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

5

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

Это была проблема ОП. После этого ответа он исправил свой код, и теперь он работает.
2

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

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

var el = $("#myElementId");
if(el.length == 0)
  alert('Not found!');
0

Хм, это работает для меня в Firefox 3.0.11, IE8 и Chrome 2 ... (т. Е. Кнопка dialog.html обновляет HTML-код на открывающей странице, чтобы сказать "обновлено!".)

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