在窗口以及浏览器选项卡中启动的弹出窗口链接

时间:2018-07-09 06:13:07

标签: javascript angularjs angular-ui-router popupwindow ui-sref

我正在使用Laravel和AngularJS构建的网站上。 我想在弹出窗口中打开某个链接。 javascript代码是

function popitup(url) {
    newwindow=window.open(url,'test','height=400,width=550');
    if (window.focus) {newwindow.focus()}
    return false;
    }

链接是

<a ui-sref="test({id:test.id})" class="btn btn-primary fright" onclick="return popitup(this.href)" oncontextmenu="return false;">Resume</a>

当我单击按钮时,弹出窗口可以正常工作,但是该链接也会在我单击它的选项卡中打开,但我不希望它出现。 有办法吗?

2 个答案:

答案 0 :(得分:0)

我想ui-sref也会绑定一个点击事件,并且该事件会在您之前触发。

您可以跳过ui-sref并将url放入数据属性或onclick属性内。您可以改为使用$ state.href()获取url。然后问题可能会消失。

修改

您可以将其绑定到范围函数,并一起跳过onclick。像这样:

在控制器中(还要确保首先在控制器中包含$ state):

$scope.popitup = function(stateName, options) {
 var url = $state.href(stateName, options);
 newwindow=window.open(url,'test','height=400,width=550');
 if (window.focus) {newwindow.focus()}
}

然后在HTML中使用状态名称及其参数调用popuitup函数:

<a ng-click="popitup('test', {id:test.id})" 
   class="btn btn-primary fright" oncontextmenu="return false;">Resume</a>

另请参阅state.href的文档。

答案 1 :(得分:-1)

    <!DOCTYPE html>
<html>
<body>


<a href="http://google.com" onclick="javascript:void window.open('http://google.com','example','width=700,height=500,toolbar=0,menubar=0,location=0,status=1,scrollbars=1,resizable=1,left=0,top=0');return false;">Popup-window</a>


</body>
</html>

在弹出窗口中尝试使用此代码,并将google.com更改为您的网站