使用 javascript 打开新标签页并重新加载父页面

Using javascript to open new tab and reload parent page

我有一个带有徽标的 wordpress 主题 linking 到 .pdf 文档。 为了link文件的标识,我必须使用自定义的javascript:

document.getElementById('logo').href = "javascript:window.open('mylink')"

我想在新选项卡中打开此文档。它目前有效,但由于某些原因,我需要在新标签页打开后重新加载父页面。

我可以添加什么以重新加载父页面? 谢谢

<a onclick="open_in_new_tab_and_reload('./path_to_pdf.pdf')" href="#">PDF</a>

<script>
function open_in_new_tab_and_reload(url)
{
  //Open in new tab
  window.open(url, '_blank');
  //focus to thet window
  window.focus();
  //reload current page
  location.reload();
}
</script>

您不需要 javascript。您可以将徽标包裹在 <a href="yourlink"></a> 标签中。然后,使用 target 属性告诉它在新选项卡中打开。

<a target="_blank" href="yourlink"><img src="yourlogo"...></img></a>

要完全按照您的要求进行操作,您可以进行一些简单的小改动...

document.getElementById('logo').href = "javascript:window.open('mylink');location.reload()";

但是,在不知道为什么需要刷新页面的情况下,我不能说这是最好的做法。我们需要更多信息才能更恰当地帮助您。

编辑 现在您已经解释了为什么需要重新加载页面(当您单击 link 时页面变为空白),您应该将之前的代码更改为此,以阻止这种情况发生...

var link = document.getElementById('logo');
link.href = "url_of_the_pdf";
link.target = "_blank";

之前 window.open() 的输出被写入页面,导致当前页面内容被删除。此方法更改 link 以使其正常工作,并且应该可以解决您之前的问题。