Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:History back()方法_Javascript_Html - Fatal编程技术网

Javascript:History back()方法

Javascript:History back()方法,javascript,html,Javascript,Html,我正在W3School的网站上浏览Javascript中的history back()方法。我想知道是否有可能在新的标签中追溯历史 假设我在谷歌搜索“利物浦足球俱乐部”,并在新标签中使用openlink打开一个网站 现在,当利物浦的网站在一个新的标签中打开时,有没有办法回到谷歌搜索 以下功能不起作用: function goBack() { window.history.back() } 有什么出路吗?不,没有 该页面不是当前窗口历史记录的一部分 这就是为什么浏览器的后退按钮也不起

我正在W3School的网站上浏览Javascript中的history back()方法。我想知道是否有可能在新的标签中追溯历史

假设我在谷歌搜索“利物浦足球俱乐部”,并在新标签中使用
openlink打开一个网站

现在,当利物浦的网站在一个新的标签中打开时,有没有办法回到谷歌搜索

以下功能不起作用:

function goBack() {
    window.history.back()
}
有什么出路吗?

不,没有

该页面不是当前窗口历史记录的一部分


这就是为什么浏览器的后退按钮也不起作用。

编辑:错误理解您的问题。

因此,如果您想自己创建此url,可以为您在新选项卡中打开的url提供一个带有referer url的属性。大概是这样的:

http://yourpage.com/?referrer=http%3A%2F%2Fyourpage.com%252Fsublink
function OpenInNewTab(url) {
  var win = window.open(url, '_blank');
  win.focus();
}
否则,你就不可能实现你想要的目标


这不是解决方案,只是不想浪费它

它实际上是有可能的。只需查看该对象,您就会发现一个referer属性。这是您来自的URL

如果要打开一个新选项卡,应采取如下解决方法:

http://yourpage.com/?referrer=http%3A%2F%2Fyourpage.com%252Fsublink
function OpenInNewTab(url) {
  var win = window.open(url, '_blank');
  win.focus();
}
在此之后,您可以使用
onclick
属性创建一个新链接:

<a onclick="OpenInNewTab(document.referrer);">Open last in new tab</a>
在新选项卡中最后打开

您可以将url(
window.location.href
)发送到新选项卡,并在新选项卡中使用
history
api将url推送到历史状态。看这里:

我知道,但问题是有出路吗?@MohitBhasi第一行回答了你的问题。没有。如果在新选项卡中打开,则历史对象为空,引用对象也为空。问题的目的是什么?也许你的问题还有另一个解决方案(我在问,因为通常没有人需要这样的东西)。