【问题标题】:How to use both onclick and target="_blank"如何同时使用 onclick 和 target="_blank"
【发布时间】:2013-10-25 11:34:01
【问题描述】:

代码如下:

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

像这样工作正常,但它会在同一个窗口中打开文件。我想应用 target="_blank"。但是google了几遍还是搞不明白。

【问题讨论】:

标签: javascript html onclick


【解决方案1】:

改为使用window.open():

语法是:

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

你的代码应该有:

window.open('Prosjektplan.pdf');

你的代码应该是:

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

【讨论】:

  • 不完全正确。 target 属性不再被弃用。参考:dev.w3.org/html5/markup/a.html;并且a 比使用p 链接到使用javascript 的资源更可取。
  • 哦,是的... a 元素上的 target 属性在以前的 HTML 版本中已被弃用,但现在不再被弃用,因为它在 Web 应用程序中很有用,尤其是与 iframe 元素结合使用时。
  • 无法在移动设备上使用,并被屏蔽。这比让目标空白照常工作并监听事件要糟糕得多。
  • 不要忘记添加 return=false 以便在主窗口中保持相同的 URL(事件阻止默认)=> onclick="window.open('Prosjektplan.pdf');return假的;"
  • @eosphere 不!不是&lt;p&gt;。您试图阻止的段落的默认事件是什么? ?
【解决方案2】:
onclick="window.open('your_html', '_blank')"

【讨论】:

  • '_blank' 在那种情况下是没用的
【解决方案3】:

只需使用window.open():

window.open('Prosjektplan.pdf')

不管怎样,人们在 cmets 上说的都是真的。你最好使用&lt;a target="_blank"&gt; 而不是点击事件。

【讨论】:

    【解决方案4】:

    你可以使用

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

    【讨论】:

    • 是的。这是天才的答案。
    【解决方案5】:

    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"

    如你所愿

    【讨论】:

    • 这也不起作用。它被检测为弹出窗口并在所有主要浏览器中被阻止
    • 确保要打开的标签是https
    猜你喜欢
    • 2020-11-19
    • 1970-01-01
    • 1970-01-01
    • 2012-04-20
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-25
    相关资源
    最近更新 更多