我想只触发一次jQuery函数。
例如,如果用户加载页面,jQuery将被触发。就是这样。它不应该在重载或其他东西时触发。它应该只被触发一次。
这可能吗?如果是这样,怎么样?
答案 0 :(得分:3)
试试这段代码:
<script type="text/javascript">
var trigger_flag = localStorage.getItem('trigger_flag');
if( !trigger_flag ) {
// invoke your function here
localStorage.setItem('trigger_flag', 'flag_is_set');
}
</script>
我已经使用JS localStorgae在调用方法后设置一个标志,并且在localStorage中设置标志之前不会再次调用它
答案 1 :(得分:1)
这样做(奇怪)的一个好方法是,如果使用服务器端模板引擎生成html页面,则只需在需要时将脚本添加到页面即可。
在客户端有几种方法可以做这样的事情,但它永远不会是100%:
在url中传递一个param,表明你是否需要运行该脚本,运行后运行脚本需要更改url。这样做的问题是,当您更改网址时,您重新加载页面,用户可以随时更改查询字符串。
使用cookies \ localstorage - 可以删除它们,这是一个问题。