2014-01-26 33 views
0

我有一個FLask應用程序,在我的模板/文件夾中有一些html文件。我想一個不錯的D3可視化添加到我的index.html,所以首先我試圖複製/粘貼泡實例到一個名爲我的模板/文件夾bubbles.html文件: http://bl.ocks.org/mbostock/4063269一個html文件不能從我的模板文件夾中運行

enter image description here

我試圖用Firefox打開bubbles.html,但只有白色空間,氣泡應該在那裏。這是奇怪的事情。當我將bubbles.html從模板/文件夾中取出並從另一個目錄中打開它時,頁面將正確加載。

什麼問題?我怎樣才能將這個情節加入我的應用程序?

+0

我正在用Firefox瀏覽此內容,它可能需要一秒鐘才能加載氣泡,但它們的加載非常好。 –

回答

2

確保您的文件由http服務器正確地提供。這裏的主要問題是您是否將json直接粘貼到您正在創建的index.html中,或者如果您正在使用單獨的json文件。

d3.json使ajax調用來加載json文件。爲了發出這個json請求,你必須有一個http服務器來提供包含單獨的json文件的目錄。這很可能是爲什麼當您更改目錄(可能是某個服務器正在服務的目錄)時,出現預期的圖表。相反,如果您以內聯方式將d3.json調用替換爲對json的引用,則不需要服務器。相反,您應該能夠使用瀏覽器從您的文件系統靜態查看示例,而不管其目錄中是否存在該目錄。

需要服務器的原因是由於w3c標準中描述的同一起源策略。你可以在這個s.o中找到一個簡單的解決方案。發佈:D3 Bar Graph example not working locally。它提供了兩種解決方案,即爲服務文件的目錄生成一個http服務器,或在瀏覽器中修改相同的源策略。由於安全標準,我推薦服務器方法。

相關問題