避免在重用的php组件上重复执行代码


Avoiding repeated code execution on reused php component

我在我的web应用程序的多个页面上使用通用工具栏(使用php include)。

工具栏包含一些登录/注销功能。此外,在加载时,它会检查登录状态并相应地更新其UI。基本流程是,它首先显示"检查登录"标签,然后一旦状态确定(使用Facebook javascript API),它将标签更新为"登录"或"未登录"。

当用户导航到另一个包含工具栏的页面时,问题就出现了。工具栏再次通过其加载状态检查,这意味着在每次导航中,它都会将工具栏更新为"检查登录",直到它完成它的工作。

如何避免这种情况?请记住,状态检查是部分有用的——页面导航是重新检查状态的好时机,因为我不想假设用户仍在登录。但是我想避免不断的标签更新,或者以某种方式对用户隐藏它们。

如果我理解正确,您正在使用Ajax来查看用户是否登录?通常情况下,这将由您的PHP处理,以便页面到达时带有工具栏,显示用户是否登录。

如果您的javascript仍然需要知道用户是否登录,您可以将隐藏的JSON嵌入到包含任何所需的用户和登录信息的页面。