[英]How do I use the same firebase database in multiple HTML pages?
我正在創建一個具有儀表板的應用程序,該儀表板鏈接到不同的HTML頁面,這些頁面執行不同的操作,需要更新我的Firebase數據庫,而使用單頁面應用程序我可以做到這一點而沒有問題,當我嘗試使用它時就會出現問題多頁
當我嘗試從dashboard_2.html連接到數據庫時,它說該應用程序已經存在(因為我已經從database.js的index.html中調用了該應用程序),如果我從js文件中刪除了配置部分,只是讓修改它說沒有創建firebase應用程序。
的index.html
<script src="https://www.gstatic.com/firebasejs/ui/3.6.1/firebase-ui-auth__es.js"></script>
<link type="text/css" rel="stylesheet" href="https://www.gstatic.com/firebasejs/ui/3.6.1/firebase-ui-auth.css" />
<!-- The core Firebase JS SDK is always required and must be listed first -->
<!-- Add additional services that you want to use -->
<script src="https://www.gstatic.com/firebasejs/5.9.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.9.1/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.9.1/firebase-database.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.9.1/firebase-firestore.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.9.1/firebase-messaging.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.9.1/firebase-functions.js"></script>
<!-- Firebase -->
<script src="js/database.js"></script>
</head>
<body>
<div id="wrapper">
<nav class="navbar-default navbar-static-side" role="navigation">
<div class="sidebar-collapse">
<ul class="nav metismenu" id="side-menu">
<!-- User admining -->
<li><a href="dashboard_2.html">users</a></li>
</ul>
</div>
</div>
database.js,我連接到Firebase的地方
var firebaseConfig = {
apiKey: "AIzaSyBWVRTc7stMysJVw4rjvzzn5-FnvMAE8_8",
authDomain: "proveneet.firebaseapp.com",
databaseURL: "https://proveneet.firebaseio.com",
projectId: "proveneet",
storageBucket: "proveneet.appspot.com",
messagingSenderId: "37090380224",
appId: "1:37090380224:web:a9e4c49d1e4b80bf"
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
var database = firebase.database();
dashboard_2.html
<!--===============================================================================================-->
<script src="https://www.gstatic.com/firebasejs/ui/3.6.1/firebase-ui-auth__es.js"></script>
<link type="text/css" rel="stylesheet" href="https://www.gstatic.com/firebasejs/ui/3.6.1/firebase-ui-auth.css" />
<!-- The core Firebase JS SDK is always required and must be listed first -->
<!-- Add additional services that you want to use -->
<script src="https://www.gstatic.com/firebasejs/5.9.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.9.1/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.9.1/firebase-database.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.9.1/firebase-firestore.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.9.1/firebase-messaging.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.9.1/firebase-functions.js"></script>
<!-- Firebase -->
<script src="js/manageusers.js"></script>
</head>
<body>
<div id="wrapper">
<nav class="navbar-default navbar-static-side" role="navigation">
<div class="sidebar-collapse">
<ul class="nav metismenu" id="side-menu">
<li class="active"><a href="dashboard_2.html">users</a></li>
</ul>
</div>
</div>
<button class="btn btn-primary btn-lg float-right" type="submit" id="addusr">Next</button>
manageusers.js,這是我要將信息添加到數據庫的地方
var connect = database.ref("/users");
如果我將database.js中的內容復制到manageusers.js並添加var connect = database.ref(“ / users”); 它告訴我該應用程序已經存在,如果我不知道它沒有創建任何Firebase應用程序,則我想在兩個頁面中使用相同的Firebase數據庫,但我不能這樣做,有什么辦法嗎?
您需要防止您的應用再次初始化。
更改firebase.initializeApp(firebaseConfig);
至
if (!firebase.apps.length) {
firebase.initializeApp(config);
}
我認為這很正常,Firebase會保持用戶的連接狀態,直到他/她注銷為止。 您可以做些什么,然后將數據傳遞到其他頁面。 您可以使用本地存儲來保存一些基本信息,以便您在頁面之間傳遞。
在下面閱讀更多內容。
https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.