0

我有一个计数器,可以计算聊天室中的观众人数,并显示在聊天上方的主网站上。这是通过 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 文件更改弹出窗口中的文本。

4

1 回答 1

1

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

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

于 2012-04-28T08:08:13.757 回答