弹出窗口 window link 在 window 以及浏览器选项卡中启动
Popup window link launching in window as well as in the browser tab
我正在使用 Laravel 和 AngularJS 构建网站。
我想要某个 link 在弹出窗口 window 中打开。
javascript代码是
function popitup(url) {
newwindow=window.open(url,'test','height=400,width=550');
if (window.focus) {newwindow.focus()}
return false;
}
而 link 是
<a ui-sref="test({id:test.id})" class="btn btn-primary fright" onclick="return popitup(this.href)" oncontextmenu="return false;">Resume</a>
当我单击按钮时,弹出窗口工作正常,但 link 也会在我单击它的选项卡中打开,但我不希望它打开。
有办法吗?
<!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>
尝试使用此代码弹出 window 并将 google.com 更改为您的站点
我猜 ui-sref
也会绑定一个点击事件,并且该事件会先于你触发。
您可以跳过 ui-sref 并将 url 放在数据属性或 onclick 属性中。您可以使用 $state.href() 代替 url。然后问题可能会消失。
编辑
您可以将它绑定到范围函数并跳过所有的点击。像这样:
在控制器中(同时确保首先在控制器中包含 $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 的文档。
我正在使用 Laravel 和 AngularJS 构建网站。 我想要某个 link 在弹出窗口 window 中打开。 javascript代码是
function popitup(url) {
newwindow=window.open(url,'test','height=400,width=550');
if (window.focus) {newwindow.focus()}
return false;
}
而 link 是
<a ui-sref="test({id:test.id})" class="btn btn-primary fright" onclick="return popitup(this.href)" oncontextmenu="return false;">Resume</a>
当我单击按钮时,弹出窗口工作正常,但 link 也会在我单击它的选项卡中打开,但我不希望它打开。 有办法吗?
<!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>
尝试使用此代码弹出 window 并将 google.com 更改为您的站点
我猜 ui-sref
也会绑定一个点击事件,并且该事件会先于你触发。
您可以跳过 ui-sref 并将 url 放在数据属性或 onclick 属性中。您可以使用 $state.href() 代替 url。然后问题可能会消失。
编辑
您可以将它绑定到范围函数并跳过所有的点击。像这样:
在控制器中(同时确保首先在控制器中包含 $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 的文档。