如何使用JavaScript bodyOnLoad()函数只执行一次?
我只需要加载一次而不是每次页面刷新。是否有其他功能可以提供此功能?
谢谢!
答案 0 :(得分:0)
您可以使用哈希轻松完成:
(function() {
if(location.hash) return;
document.addEventListener("DOMContentLoaded",bodyOnLoad);
location.hash = "loaded";
})();
function bodyOnLoad() {
alert("alerting only on the first load");
}
如果您尝试通过F5重新加载,它只会第一次发出警报。
这很容易实现,但是如果你使用哈希来做其他事情,或者如果你不想改变网址,那么卡米尔和拉杰什在你的问题的评论中有更好的想法。
请注意, DOMContentLoaded 在IE< 9中不起作用。有关loder浏览器支持,请阅读cross-browser fallback。
另请注意,更改location.hash
不会重新加载页面。