2012-04-28 79 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