我在JavaScript文件中有5个html页面和一个JavaScript函数DoInitialConfiguration()。用户可以打开五个html页面中的任何一个,无论打开哪个页面,我都希望这样,我在第一页访问时调用此函数。但也要记住,该函数已被调用一次,而不是在其他页面加载中调用它。我只有这5个html页面和具有该功能的JavaScript文件。我是JavaScript文件的所有者,但可以对html页面(我不拥有)进行有限的更改,例如加载JavaScipt文件并调用函数DoInitialConfiguration()。
由于JavaScript文件将保留在浏览器缓存中,有没有办法记住函数已使用JS文件中的任何变量调用一次。如果在清除浏览器缓存后重新加载页面,则可以再次调用DoInitialConfiguration()。
如何实现此功能
答案 0 :(得分:3)
如果您的5个页面托管在同一个站点下(可能就是这种情况),您可以使用localStorage添加密钥来检查您的脚本是否第一次被调用。
if (localStorage.getItem("firstRun") != null) {
// second run+ code goes here
} else {
localStorage.setItem("firstRun", "ohyes");
// first run code goes here
}
答案 1 :(得分:0)
您可以使用localStorage
。代码执行后,设置localStorage
变量,即localStorage.setItem(<key>, <value>)
,并在函数中检查localStorage
是否已设置,即localStorage.getItem("lastname")
。如果它的集合不执行代码。
答案 2 :(得分:0)
最好更好地理解你的设置和案例研究。
如果我理解正确,你有5个单独的HTML页面(并且你没有运行单页面应用程序[SPA])那么你想要做的事情就不可能只通过浏览器和缓存。如果你想记住你需要使用localStorage或cookies保存这些设置(因为弹出的一些答案已经建议)但是因为它们是5个不同的html页面,Js做了什么让你不想重新运行它第二页加载?