Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery-写入打开器窗口_Javascript_Jquery_Html - Fatal编程技术网

Javascript JQuery-写入打开器窗口

Javascript JQuery-写入打开器窗口,javascript,jquery,html,Javascript,Jquery,Html,我有一个HTML页面,可以通过JavaScript打开另一个页面。当用户单击另一个页面中的按钮时,我想通过JQuery在打开页面的DIV中发布一条消息。我不能把我的手指放在它上面,但我似乎无法让它工作。这是我的开场白 <html> <head> <script type="text/javascript" src="jquery-1.3.2.min.js"></script> </head> <body>

我有一个HTML页面,可以通过JavaScript打开另一个页面。当用户单击另一个页面中的按钮时,我想通过JQuery在打开页面的DIV中发布一条消息。我不能把我的手指放在它上面,但我似乎无法让它工作。这是我的开场白

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

函数updatePener()
{
var testDiv=window.opener.jQuery(“#testDiv”);
if(testDiv!=null){
警报(“此处”);
html(“更新!”);
}
}

令人惊讶的是,警报框出现了。但是,我似乎无法在打开的页面中更新DIV的HTML。有人知道怎么做吗?

您指的是“confirmDiv”。那个DIV在哪里?

嗯,它在Firefox 3.0.11、IE8和Chrome2中为我工作。。。(即dialog.html按钮在开场白页面中更新html,说“Updated!”)

奇怪的是,你的例子在Chrome、IE 8和FireFox中对我来说效果很好。你还有其他细节吗

如果父页面(打开者)位于另一个域中,则无法执行此操作。否则,您的代码就可以完美地工作

还有,你的空检查可能没有执行您认为它正在执行的操作,因为jQuery函数从不返回空。如果您正在检查某个元素的存在性,则需要这样做

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

他只是用他的编辑修改了。这是OP的问题。他在回答这个问题后修改了代码,现在它可以工作了。