在页面首次加载时触发事件,之后不再加载其他时间


Trigger an event when a page loads for the first time and no other time after that

这个想法是,我想在使用jQuery加载页面时提示用户更改其密码: $('a').trigger('click');

我面临的问题是每次加载页面时都会触发该事件。

理想情况下,我想在每个登录会话中触发一次事件。最好的方法是什么..?当我触发事件时,将一个值发布到数据库,然后检查数据库中的值以查看它是否已被触发?这是我的想法..但我觉得可能有更快、更快捷的方法可以做到这一点。

谢谢!

如果您想使用会话,可以尝试以下操作:

<?php if (!isset($_SESSION['saw_js'])): ?>
    <script>
        $('a').trigger('click');
    </script>
<?php endif; $_SESSION['saw_js'] = true; ?>

基本上,当用户登录时没有设置$_SESSION['saw_js'],所以你的JS代码被打印出来。然后,它将不再存在,因为设置了变量。

"理想情况下,我想在每个登录会话中触发一次事件。"所以。。。使用会话 ?

if(!array_key_exists('already_changed', $_SESSION)){
    //do something

不优雅,但这只是一个例子。

我不知道你的代码结构是什么。

//variable sett by result from database
<? $ask_new_password = true; ?>
var passwordRequest = <?=$ask_new_password;?>;
if(passwordRequest){
     $('a').trigger('click');
}