2016-09-14 69 views
0

我在一個for循環中使用load()爲了在我的頁面(索引)中生成一個漸進的元素列表,每個列表存儲在一個單獨的html文件中。 但是,它似乎重新觸發了我正在使用的Firebase應用,導致無限循環,並顯示錯誤消息:「firebase-app.js:26Uncaught錯誤:名爲'[DEFAULT]'的Firebase應用已存在。」Firebase觸發重新加載()

for(var i=0;i<8;i++){ 
    $('.prog-'+i).load("../projects/prog-id-"+array[i]+"/project.html").attr("id", "prog-id-"+array[i]); 
}; 

PS。它在localhost上工作得很好,當我部署代碼時它開始出現這些問題。 PPS。 Firebase初始化在技術上不會加載兩次,因爲它位於我的索引底部(加載這些內容的頁面)

回答

0

看起來您的project.html每次都在拉動Firebase,導致它被多次初始化。這解釋了錯誤。

你必須單獨地裝載火力地堡依賴性/初始化和只進行一次就可以檢測是否火力地堡已經有類似初始化:

var exists = false; 
firebase.apps.forEach(function(app) { 
    if (app.name == '[DEFAULT]') { 
    exists = true; 
    } 
}) 
if (!exists) firebase.initializeApp(...); 
相關問題