我有一个二维码,可以将用户带到a页,然后立即转发到B页。我希望B页检查用户是否来自a页,否则将其转发到C页(基本上说你需要先访问a页(。最终的结果是,扫描二维码可以通过第A页访问第B页,但如果之前没有在第A页,就无法从第B页开始(除非他们输入(。无论如何,这都不是万无一失的,但这是一种威慑。在B页上,我使用的是:
if (history.back!="[page a url]") {
location.assign("[page c url]");
}
但这似乎不起作用。
顺便说一句,我正在通过尝试学习我需要做的事情来完成这一切——请假设我对知之甚少
通过您的标签,我看到您正在使用WIX。我不确定您是否可以访问服务器端,所以我的答案是javascript。这并不能完全证明,因为你不能信任从浏览器发送的任何内容。
在页面A上,使用localStorage将变量visitedA设置为1,然后重定向到页面B。
<script>
localStorage.setItem("visitedA","1");
location.href = "pageB.html";
</script>
在页面B上,检查visitedA是否等于0,然后重定向到C.
<script>
let visitedA = localStorage.getItem("visitedA") || "0";
if(visitedA == "0"){
location.href = "pageC.html";
}
</script>
使用Document.referrer是解决这个问题的一个很好且最直接的方法。
https://developer.mozilla.org/en-US/docs/Web/API/Document/referrer
示例:
<script>
// did user come from page a?
if (document.referrer.includes('page-a') {
// yes page-a was in the referrer
} else {
// no, referrer was empty or did not include page a
}
</script>