2011-03-06 58 views
1

L.S.如何在JQuery中创建与两个窗口的交互

对不起,如果我的英语不是很好。我尽量使其尽可能地被理解。 在过去的几周里,我一直在寻找一种解决方案,在Web应用程序中的两个窗口之间进行某种交互。我想在第一个窗口中播放动画,当它播放时,我想用控件打开一个新窗口来停止它。 (所有这些的目的是我想在我的第一个显示器上播放动画,在我的第二个播放器上播放动画控件,但这不是很重要)。 我知道jQuery中有一个window.opener的东西,但我试图实现这一点,并没有奏效。我希望有人能帮帮忙。这将非常感激! 这是多远我必须得:

$(function test() { /* Assign a name to this window (index.html)*/ 
    window.name = "main"; /*When the button test is clicked */ 
    $("#test").click(function test() { /*check if the window name works */ 
     alert(window.name); /* This works! */ 
     /*Open a second window, source is controlpanel.html, window name is control */ 
     var control = window.open("controlpanel.html", "control"); 
    }); 

    /*When button test 2 is clicked*/ 
    $("#test2").click(function() { /* change the color of the control window */ 
     $(control).css('background-color', '#9900FF'); /*This does not work */ 
    }); 
}); 
+0

你试图做这样的事:http://carnotaurus.tumblr.com/post/3121098288/communication-between-frames-in-jquery? – CarneyCode 2011-03-06 15:39:40

回答

1

启动从主窗口的控制窗口,那么你可以解决使用次级寡妇主窗口...

window.parent.document 

你可以还使用了揭幕战要做到这一点

如果你打开你的第二个窗口,你可以在主窗口中称之为“功能1”像这样的javascript辅助窗口。

window.opener.document.function1(); 

见的正是你正在尝试做一下这个例子: http://www.javascriptkit.com/javatutors/remote2.shtml

0

控制不是选择

$(control).css('background-color', '#9900FF'); 

CSS需要知道应用背景。你的选择要么是一个标记,ID或类ex:$('div')$('#myid')$('.myclass')。你在代码中的控制是没有的。