仅当从特定链接来时才运行Javascript

时间:2019-06-26 18:19:17

标签: javascript

在打开页面时,例如admin.php,我具有Javscript淡入淡出效果。

<body>
<script>
    document.body.className = 'fade';
</script>

...html code...

<script>
  document.addEventListener("DOMContentLoaded", function(e) {
    document.body.className = '';
  });
</script>
</body>

问题是从login.php页开始时,我无法弄清楚如何仅运行此脚本。

为澄清起见,它是打开页面时为白色的一种效果,然后在大约1秒钟内可见页面,从而产生淡入淡出效果。

2 个答案:

答案 0 :(得分:1)

传递查询字符串中的变量。例如,使用admin.php?coming_from_login=1链接到它。

然后在您的PHP文件中:

<?php if (isset($_GET['coming_from_login']) && $_GET['coming_from_login'] == '1'): ?>
<script>
  document.addEventListener("DOMContentLoaded", function(e) {
    document.body.className = '';
  });
</script>
<?php endif; ?>

答案 1 :(得分:1)

您可以使用document.referrer

<body>
    <script>
        const referrerPage = document.referrer.replace(location.origin, ""); // Remove the origin to leave just the page
        if (referrerPage === "/login.php") {
            document.body.className = 'fade';
            document.addEventListener("DOMContentLoaded", function (e) {
                document.body.className = '';
            });
        }
    </script>

    ...html code...
</body>