我想知道的是,当用户点击我网站上的链接(内部链接 - 而不是其他网站)时,如果他们只是点击了它或按住Ctrl单击它(或右键单击 - 在新标签页中打开)。我可以知道当人们在新标签中打开我的网站上的链接吗?
我使用PHP。
例如: 人在页面1上,并点击链接为page2。 当他们在页面2我想知道他们来自哪里(_server ['http_referer']给了我,但我也想知道他们是否在新窗口/选项卡中打开页面。我需要知道这一点,因为页面上的历史回退按钮。
这样做的原因是要知道网站的浏览历史记录 - 我创建会话以跟踪浏览历史记录(以便我可以在任何给定时间返回一页,返回两页或返回三页),但是我不希望会话在选项卡之间发生冲突,以便每个选项卡都有自己的浏览历史记录。这就是为什么我需要为每个打开的选项卡创建新的会话。
我发现作为一个可能的解决我的问题是使用类似的JavaScript这样:
<script>
var history_status = history.length;
var referrer_site = document.referrer;
if(history_status > 1 && referrer_site != "") {
alert(referrer_site);
} else {
alert('No referrer site');
}
</script>
我需要改变一点点,但是这是我第一次演示,以检查如果它的工作原理(和它一样)
我首先需要查找浏览器用户使用,因为history_status第一页的历史赋予0,当你使用IE浏览器,但1,如果你使用的是Firefox或Chrome。
您可以使用javascript'onready'和'history'对象来检查是否有任何历史记录。如果是这样,用户只需点击链接,就可以显示/隐藏您使用PHP创建的历史元素。 – Wulf
浏览器已经拥有内置的“返回X页面”功能(通常通过按下后退按钮来触发)。你为什么试图重新发明轮子? – Quentin
@Quentin你不明白我想要做什么。用户不应该决定他回去的页数。 – birgir