【问题标题】:How to create interaction with two windows in JQuery如何在 JQuery 中创建与两个窗口的交互
【发布时间】:2011-03-06 15:36:24
【问题描述】:

L.S.

如果我的英语不是很好,请原谅。我尽量让它易于理解。 在过去的几周里,我一直在寻找一种解决方案,以便在 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 */
    });
});

【问题讨论】:

标签: jquery css window


【解决方案1】:

从主窗口启动控制窗口,然后您可以使用辅助窗口处理主窗口...

window.parent.document

你也可以使用开瓶器来做到这一点

如果您在辅助窗口中使用 javascript 打开辅助窗口,您可以像这样在主窗口中调用“function1”。

window.opener.document.function1();

请参阅此示例,了解您正在尝试执行的操作: http://www.javascriptkit.com/javatutors/remote2.shtml

【讨论】:

    【解决方案2】:

    控件不是选择器

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

    CSS 需要知道在哪里应用背景。您的选择器应该是标签、id 或类 ex:$('div')$('#myid')$('.myclass')。您在代码中拥有的控制权不是这些。

    【讨论】:

      猜你喜欢
      • 2010-09-08
      • 2014-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 2021-06-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多