0

案例:用户点击图片

  • 如果是回访用户(用户会话有效期为 30 分钟)导航到图片的链接
  • 如果是新用户,则显示弹出 div

现在,每当单击图像时,我都会显示弹出 div。关于如何保存会话并将其作为 JavaScript 中的变量引用以执行以下功能的任何建议:

if {
    // user is log in.. do your task here..
} else {
    //user is not log in.. do your task here...
}

编辑:

<script>
<? if(isset($_SESSION["logged_in"])) {
    echo "var $check=1";
} else {
    echo "var $check=0";
} ?>

function SetMood() {
    if($check==1) {
        // user is log in.. do your task here..
        alert('URL');
    } else {
        //user is not log in.. do your task here...
        document.getElementById('light').style.display='block';
        document.getElementById('fade').style.display='block';
        document.getElementById('fade').scrollIntoView(true);
    }
}
</script>

这被称为图像:

<a id="register" href = "javascript:void(0)" onclick = "SetMood();" data-fancybox-group="gallery">
    <img src="<cms:show my_image_thumb />" alt="" class="fade">
</a>

以上没有效果,现在什么也没有打开onClick

4

2 回答 2

2

不要在客户端代码中执行条件检查,在服务器端代码中执行。

假设您有想要实现的 JavaScript 实现,我们分别称它们为:

navigateToLink();
showPopUp();

然后,您将根据服务器端会话检查有条件地发出其中一个或另一个的代码。像这样的东西:

<?php
if ($_SESSION['someValue'] == 'someKnownValue') {
?>
    navigateToLink();
<?php
} else {
?>
    showPopUp();
<?php
}
?>

这个想法是服务器端代码应该确定用户可以做什么或不可以做什么。发送到客户端代码的任何内容对用户都是完全可见的(并且可由用户修改)。

于 2015-02-10T13:57:44.307 回答
0

这应该可以帮助您:

<script>
    var yourValue = '<?php echo $_SESSION['yourSessionValue'] ?>';
    if(yourValue == 'hello') {
        console.log('hide yo kids');
    } else {
        console.log('hide yo wife');
    }
</script>
于 2015-02-10T13:56:50.350 回答