2016-09-14 9 views
0

load()をforのサイクルで使用して、それぞれのページを別々のhtmlファイルに保存して、自分のページ(インデックス)に要素のプログレッシブリストを生成します。 しかし、私が使用しているFirebaseアプリを再トリガーして、無限ループを引き起こし、エラーを表示しているようです: "firebase-app.js:26Uncaught Error: '[DEFAULT]'という名前のFirebase Appが既に存在します。load()で再トリガーされた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の初期化は技術的にはインデックスの下に2回ロードされません(これらのコンテンツがロードされているページ)

答えて

0

あなたのproject.htmlが毎回Firebaseを取得しているようです。これは複数回初期化されます。それはエラーを説明します。

あなたは別にして、一度だけFirebase依存/初期化をロードするためのいずれかがあるでしょうか、Firebaseはすでにのようなもので初期化されているかどうかを検出することができます

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