0
我創建了dc.js可視化對象,有四個不同的條形圖。此外,每個圖形都有一個按鈕,可在新瀏覽器窗口中打開該特定圖形。爲此,我爲每個圖創建了單獨的HTML文件。我想在兩個不同窗口中打開的圖形之間進行交互。可能嗎?怎麼樣?在兩個不同的瀏覽器窗口中,在兩個不同的瀏覽器窗口中進行交互dc.js交叉過濾器
謝謝!
我創建了dc.js可視化對象,有四個不同的條形圖。此外,每個圖形都有一個按鈕,可在新瀏覽器窗口中打開該特定圖形。爲此,我爲每個圖創建了單獨的HTML文件。我想在兩個不同窗口中打開的圖形之間進行交互。可能嗎?怎麼樣?在兩個不同的瀏覽器窗口中,在兩個不同的瀏覽器窗口中進行交互dc.js交叉過濾器
謝謝!
window.opener
將返回對打開它的窗口的窗口對象的引用。
在第一個窗口中,您可以將全局引用(比如var graphThing
或window.graphThing
)留給您需要操作的任何對象。然後,從原始窗口啓動的窗口可以調用window.opener.graphThing
訪問第一個窗口的graphThing
。
要訪問的子窗口的屬性(比如說全球var childGraphThing
或window.childGraphThing
)從打開它的父母,你可以保持到子窗口的引用通過像這樣打開它:
var childWindow = window.open('childGraph.html', 'blank_');
然後,您可以訪問它的屬性是這樣的:
var childWindowGraphThing = childWindow.childGraphThing;
此外,您從第一個窗口所需要的特殊性質是DC實例(以加入到同一個圖表組和接收事件)和crossfiliter實例(爲了分享dat一個)。您可能需要將交叉過濾器實例顯式寫入窗口屬性,以便從第二個窗口中獲取它。它可能只是混淆了事情加載dc.js在第二個窗口;相反,你應該做'window.dc = window.opener.dc;' – Gordon