我的页面A中有页面A和B.我有链接指向页面B. 我想要做的是,当我点击页面A中的链接时,它将打开页面B,并且还会提醒我页面A的URL。这是我尝试的:
第A页:
<html>
<head>
<a href="file:///C:/Users/jason/Desktop/pageb.html">click me</a>
</head>
</html>
第B页:
<html>
<head>
<script type="text/javascript">
var oldURL = document.referrer;
alert(oldURL);
</script>
</head>
单击它时会打开页面B,但警报为空。我怎么能这样做?
答案 0 :(得分:1)
alert(document.referrer);
这应该提醒推荐人。
答案 1 :(得分:1)
注意:我将其移出评论,因为它描述了真实问题。
代码的原始问题与您用于第B页的file:///
URI有关。没有referrer
。但是,如果从服务器运行此代码,它可以正常工作。这是证据:Plunkr
从文件系统加载文件(使用file://
协议)时,未设置referrer
标头。如果在开发工具中打开网络面板并查看两个页面的标题,则可以轻松查看差异。由file:///
打开,没有标题,来自Plunkr的标题正确referrer
。
所以你的代码工作正常(但应该移动锚标签)。
您不需要执行window.open()或使用本地存储或任何类似的疯狂。
答案 2 :(得分:0)
从<a href="file:///C:/Users/jason/Desktop/pageb.html">click me</a>
标记中添加head
。并打印oldURL
的{{1}}变量,该变量是当前网址。{/ p>
页面A.
window.location.href
&#13;
Page B.
<html>
<head>
</head>
<a href="file:///C:/Users/jason/Desktop/pageb.html">click me</a>
</html>
&#13;
答案 3 :(得分:0)
您可以在sessionStorage中保存最新访问的网址 在第A页:
sessionStorage.setItem('url', window.location.href);
第B页
alert(sessionStorage.getItem('url'))
答案 4 :(得分:0)
您可以在网址中传递它:
window.open("b.html?referer=" + window.location.href);
您还可以使用opener
对象获取父窗口的变量:
a.html
<html>
<script>
var referrer = window.location.href;
var win = window.open("b.html");
</script>
</html>
b.html
<html>
<script>
alert(window.opener.referrer);
</script>
</html>
正如上面提到的@RandyCasburn,你还必须将标签从头部移动到身体上才能看到它:
<html>
<head>
</head>
<body>
<a href="file:///C:/Users/jason/Desktop/pageb.html">click me</a>
</body>
</html>
答案 5 :(得分:0)
您可以使用document.referrer
请参阅以下代码段
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Alert</title>
</head>
<body>
<a href="https://www.google.co.in/" onclick="onLinkClick()">Link</a>
<script>
function onLinkClick() {
alert("Redirected from==>"+document.referrer);
}
</script>
</body>
</html>