2012-04-28 45 views
0

我有一个计数器,用于统计聊天室中的查看者数量,并显示在聊天上方的主要网站上。这是从我的主要网站上运行的脚本通过JSON拉。如果用户想要弹出聊天对话框,他们应该能够点击一个按钮并弹出。问题出现在我需要从我的主要网站脚本中获取查看者值并将其置于弹出窗口内的动态格式中,而无需刷新它。动态地更改来自外部源的弹出内容

我试图避免两次调用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

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

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

+0

这比正常的弹出窗口更好看。我必须检查一下,谢谢:3我会回来,并检查它是否有效。 – 2012-04-28 08:09:51

+0

好的,所以我发现的唯一问题是(1)我不得不包含另一个非常凶手的框架(UI),它有点大。 (2)由于它不是一个真正的'窗口',只是一个div,所以没有真正的方法来最小化它。我确实看到了一些修改它以使其最小化的例子,但对于1个模块窗口来说它似乎有点多。我在考虑提高效率,除非有更好的选择,否则只需通过弹出窗口执行另一个Ajax调用即可。 – 2012-04-28 08:50:01