从外部源动态更改弹出内容

时间:2012-04-28 07:59:37

标签: javascript jquery html popup

我有一个计数器,用于计算聊天室中观众的数量,并在聊天上方的主网站上显示。这是通过json从我主网站上运行的脚本中提取的。如果用户想要弹出聊天,他们应该能够点击按钮,它应该弹出。当我需要从我的主要网站脚本中获取查看者值并在弹出窗口中动态放入div时,问题就出现了,而没有刷新它。

我试图避免两次调用json,因为在我的主网站上它已经被每秒调用一次。我尝试创建一个简单的测试,以查看从外部javascript文件(弹出窗口中没有链接)动态更改弹出窗口的文本颜色。

我的外部javascript文件有一个在用户点击链接时被调用的函数:

function popUp() {
    newwindow=window.open('mod.html','test','height=200,width=150');
        newwindow.focus();
    $('#blue').css('color', 'red');
    return false;
}

这是我的mod.html

的内容
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
    <div id="blue" style="color:blue">
        This is Blue
    </div>
</body>
</html>

我没有收到错误,但我也没有得到任何结果......

TL; DR 如何更改弹出框中未弹出的外部javascript文件弹出文本。

1 个答案:

答案 0 :(得分:1)

简短的回答是,您的弹出窗口是一个完全独立的浏览器窗口,因此需要自己完成所有操作,因此您也必须在此页面的DOM中执行ajax调用。

答案很长,你可能会更好地使用包含指定内容而不是打开一个全新浏览器窗口的CSS样式的“popup”div。请参阅http://jqueryui.com/demos/dialog/如果您有一个div弹出窗口,它只是另一个div,您可以像页面上的任何其他div一样突出显示,更改内容等。