如何同时使用 onclick 和 target="_blank"

问题描述 投票:0回答:6

代码如下:

    <p class="downloadBoks" onclick="location.href='Prosjektplan.pdf'">Prosjektbeskrivelse</p>

像这样工作正常,但它在同一窗口中打开文件。我想应用 target="_blank"。但经过一番谷歌搜索后我仍然无法弄清楚。

javascript html onclick
6个回答
67
投票

而是使用

window.open()

语法是:

window.open(strUrl, strWindowName[, strWindowFeatures]);

您的代码应该具有:

window.open('Prosjektplan.pdf');

您的代码应该是:

<p class="downloadBoks"
   onclick="window.open('Prosjektplan.pdf')">Prosjektbeskrivelse</p>

43
投票
onclick="window.open('your_html', '_blank')"

8
投票

只需使用

window.open()

window.open('Prosjektplan.pdf')

不管怎样,大家评论里说的都是真的。您最好使用

<a target="_blank">
而不是点击事件。


5
投票

你可以使用

        <p><a href="/link/to/url" target="_blank"><button id="btn_id">Present Name </button></a></p>

0
投票

window.open方法容易导致弹出窗口拦截器抱怨

更好的方法是:

在网页中放置一个带有 id 的表单

<form action="theUrlToGoTo" method="post" target="yourTarget"  id="yourFormName">
</form>

然后使用:

function openYourRequiredPage() {
var theForm = document.getElementById("yourFormName");
theForm.submit();

}

onclick="Javascript: openYourRequiredPage()"

你可以使用

method="post"

method="get"

如你所愿


0
投票

所有这些解决方案都无法正常工作来解决您必须将字符串放入变量中并将其全部包装在 iframe 中的问题,如下所示:

   const newWindow = window.open();
  newWindow.document.write(`
    <html>
      <body style="margin: 0; overflow: hidden;">
        <iframe
          src="${pdfUrl}"
          title="PDF Viewer"
          style="width: 100%; height: 100vh; border: none;"
        ></iframe>
      </body>
    </html>
  `);
};
© www.soinside.com 2019 - 2024. All rights reserved.