Javascript 在窗口和浏览器选项卡中启动弹出窗口链接

Javascript 在窗口和浏览器选项卡中启动弹出窗口链接,javascript,angularjs,angular-ui-router,popupwindow,ui-sref,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.i

我正在开发一个使用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>

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


    <!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更改为您的站点

我猜
ui sref
也会绑定一个单击事件,该事件将在您的之前触发

您可以跳过ui sref,将url放在数据属性或onclick属性中。您可以使用$state.href()获取url。然后问题可能会消失

编辑

您可以将它绑定到一个作用域函数,然后跳过onclick all。大概是这样的:

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

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

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

控制台中没有任何错误。请确保它不是角度来决定去哪里。链接是动态的ui sref=“test({id:test.id})”,状态路由提供程序确定链接我需要使用其他方法吗?我不知道。然后我是否通过了$state.href()中的“test({id:test.id})?我想你实际上应该使用ng click。当我在电脑上而不是手机上时,让我现在用它更新我的答案。我在控制器上添加了$state,复制了其中的函数并修改了超链接,但在控制台上单击时什么都没有发生。我只是看到我拼写的
函数
错了。这是吗?我更正了就在我复制它之后。而且控制台没有显示任何问题
<a ng-click="popitup('test', {id:test.id})" 
   class="btn btn-primary fright" oncontextmenu="return false;">Resume</a>