Javascript 如何跨多个页面从firebase获取唯一ID
我的项目是有几页的调查。我想把几页的答案上传到同一个uniqueID中。现在我可以从页面js文件中获取uniqueID,但如何将此uniqueID传输到其他js文件,以便将数据上载到同一uniqueID。问题可以重新表述为如何通过不同的页面和js文件访问变量值Javascript 如何跨多个页面从firebase获取唯一ID,javascript,firebase,Javascript,Firebase,我的项目是有几页的调查。我想把几页的答案上传到同一个uniqueID中。现在我可以从页面js文件中获取uniqueID,但如何将此uniqueID传输到其他js文件,以便将数据上载到同一uniqueID。问题可以重新表述为如何通过不同的页面和js文件访问变量值 我更喜欢的方法是使用大量数据,在加载“全局脚本”的用户看不到一个基本页面。此基本页加载和卸载所有其他页面(包括js和css文件)。由于本例中的变量firebaseID是全局定义的,因此它可以工作 如果数据不合理,您也可以将其放入本地存储
- 我更喜欢的方法是使用大量数据,在加载“全局脚本”的用户看不到一个基本页面。此基本页加载和卸载所有其他页面(包括js和css文件)。由于本例中的变量firebaseID是全局定义的,因此它可以工作
- 如果数据不合理,您也可以将其放入本地存储(最好是加密的),如果用户希望暂停调查并稍后完成调查,这也会有所帮助。(移动设备上有5MB,桌面上有10MB)李>
简单的部分是将HTML插入到其他HTML中。我使用服务器生成的视图,以便根据需要添加和删除HTML。 更难的部分是特定于页面(视图)的js加载。
在我的用例中,用户可以通过导航跳转,直到最终提交并完成。如果你只允许顺序前进而不允许后退,那就更容易了。我实际上是在模仿一种安静的行为。基本脚本中的某些构建块包括
// Some global vars
var statMsg = "";
var navTargetInitial= "app";
var navTarget;
var htmlDir = "app"; // directory of the html templates
var scriptDir = "js"; // directory of the user scripts
var routes = [
{
navTarget: "main",
loadScript: true,
navTitle: "Survey page 1",
navMenutext: "Page 1"
}, {
navTarget: "app",
loadScript: true,
navTitle: "Survey page 2",
navMenutext: "Page 2"
},
....
];
// Then docReady beside other stuff
function docReady() {
// other stuff
nav2Page(navTarget);
}
// here we handover data, put relevant things to sessionStorage
window.onbeforeunload = function (e) {
// Do stuff
};
// here we cleanup
window.onunload = function () {
// cleanup
};
关键部分是在html进入DOM后加载新的js,因此关键部分是加载的事件DOM上的eventhandler
document.addEventListener("DOMContentLoaded",
loadJScript(navScript, function(response, status, xhr ){// error handling }
剩下的是ajax、错误处理、对页面历史中返回/前进的点击的反应以及相应的反应。
希望这有帮助你能更详细地解释一下“我喜欢的方式”吗?