如何使用JavaScript bodyOnLoad()函数只执行一次?

时间:2014-01-03 19:51:26

标签: javascript

如何使用JavaScript bodyOnLoad()函数只执行一次?

我只需要加载一次而不是每次页面刷新。是否有其他功能可以提供此功能?

谢谢!

1 个答案:

答案 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不会重新加载页面。