输入按钮目标= "_blank"不会导致链接在新窗口/选项卡中加载



我有一个带有输入按钮的HTML文件。这只是一个示例按钮,但它包含了所有必要的代码信息:

<input type="button" onClick="parent.location='http://www.facebook.com/'" value="facebook" target="_blank">

由于某些原因,在新窗口/选项卡中无法加载

使用formtarget="_blank"它为我工作

<input type="button" onClick="parent.location='http://www.facebook.com/'" value="facebook" formtarget="_blank">

浏览器兼容性: from caniuse.com
IE : 10 +| Edge: 12+| Firefox: 4+| Chrome: 15+| Safari/iOS: 5.1+| Android: 4+

你需要这样做…

<a type="button" href="http://www.facebook.com/" value="facebook" target="_blank" class="button"></a>

和添加基本的CSS,如果你想它看起来像一个btn..这样的

    .button {
    width:100px;
    height:50px;
    -moz-box-shadow:inset 0 1px 0 0 #fff;
    -webkit-box-shadow:inset 0 1px 0 0 #fff;
    box-shadow:inset 0 1px 0 0 #fff;
    background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #ffffff), color-stop(1, #d1d1d1) );
    background:-moz-linear-gradient( center top, #ffffff 5%, #d1d1d1 100% );
 filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#d1d1d1');
    background-color:#fff;
    -moz-border-radius:6px;
    -webkit-border-radius:6px;
    border-radius:6px;
    border:1px solid #dcdcdc;
    display:inline-block;
    color:#777;
    font-family:Helvetica;
    font-size:15px;
    font-weight:700;
    padding:6px 24px;
    text-decoration:none;
    text-shadow:1px 1px 0 #fff
}

  .button:hover {
    background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #d1d1d1), color-stop(1, #ffffff) );
    background:-moz-linear-gradient( center top, #d1d1d1 5%, #ffffff 100% );
 filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#d1d1d1', endColorstr='#ffffff');
    background-color:#d1d1d1
}
.button:active {
    position:relative;
    top:1px
}

target仅适用于href标签。

直接使用javascript窗口。打开第二个参数为"_blank"的函数

<button onClick="javascript:window.open('http://www.facebook.com', '_blank');">facebook</button>
正确答案:
<form role="search" method="get" action="" target="_blank"></form>

所有主流浏览器均支持:)

遇到类似的问题,我是这样解决的:

<a href="http://www.google.com/" target="_top" style="text-decoration:none"><button id="back">Back</button></a>

_top改成_blank

请尝试一下它对我有用

onClick = " window.open ("http://www.facebook.com/","facebook")"

<button type="button" class="btn btn-default btn-social" onClick="window.open('http://www.facebook.com/','facebook')">
          <i class="fa fa-facebook" aria-hidden="true"></i>
</button>

targetinput元素上无效。

在本例中,您的重定向是由Javascript完成的,因此您可以让脚本打开一个新窗口。

formtarget属性只用于type="submit"的按钮。

这是从这个参考。

下面是一个使用JavaScript的答案:

<input type="button" onClick="openNewTab()" value="facebook">
<script type="text/javascript">
    function openNewTab() {
        window.open("http://www.facebook.com/");
    }
</script>

input元素不支持target属性。target属性是用于a标签的,这就是它应该被使用的地方。

<form target="_blank">
    <button class="btn btn-primary" formaction="http://www.google.com">Google</button>
</form>

代替

onClick = " parent.location = ' http://www.facebook.com/' "

尝试使用

onClick = " window.open = ' http://www.facebook.com/'"onClick = " window.open("http://www.facebook.com/","facebook")"

在一个类似的用例中,这对我有效…

<button onclick="window.open('https://www.w3.org/', '_blank');">  My Button </button>

使用JQUERY的另一个解决方案是编写一个在用户单击按钮时调用的函数。此函数创建一个新的<A>元素,target='blank',将其追加到文档,'单击'它,然后将其删除。

所以就用户而言,他们点击了一个按钮,但在幕后,点击了一个target='_blank'的<A>元素。

<input type="button" id='myButton' value="facebook">
$(document).on('ready', function(){
     $('#myButton').on('click',function(){
         var link = document.createElement("a");
         link.href = 'http://www.facebook.com/';
         link.style = "visibility:hidden";
         link.target = "_blank";
         document.body.appendChild(link);
         link.click();
         document.body.removeChild(link); 
     });
});

JsFiddle: https://jsfiddle.net/ragDaniel/tf991u4g/2/

你可以把它放在锚标记中

     <button>
        <a href="{{route('main.home')}}" class="btn header-item noti-icon waves-effect" target="_blank"><i class="bx bxs-home"></i></a>
     </button>

最新更新