请原谅我的无知,但我是angularjs的新手,我想显示一个有2个按钮的弹出窗口(确定和取消) OK:关闭弹出窗口和浏览器 取消:关闭弹出窗口
我正在使用模态对话框来显示弹出窗口 我的HTML代码是:
<modal-dialog show='dialogShown' dialog-title='My Dialog'>
<p></p>
<p>Are you sure ?</p>
<button ng-click="closeWindow()">OK</button>
<button ng-click="closeDialog()">Cancel</button>
</modal-dialog>
我的控制器:
var app = angular.module('MyModule', []);
app.controller('MyCtrl', function ($scope,myservice) {
$scope.dialogShown = false;
$scope.showDialog = function(){
$scope.dialogShown = true;
}
$scope.closeWindow = function(){
// I need to close the popup AND the window
}
$scope.closePopup = function(){
// I need to close the popup
}
}
提前感谢您的帮助。
答案 0 :(得分:0)
如果您只需要能够关闭浏览器的当前选项卡,则应使用$window.close()
功能。
有关此功能的更多信息,请阅读window.close()和$window文档。
编辑:就像它在window.close()
的mozilla doc中所写:
只允许对使用window.open()方法由脚本打开的窗口调用此方法。如果脚本未打开窗口,则控制台中会出现类似于此窗口的错误:脚本可能无法关闭脚本未打开的窗口。
解决方法是自行(重新)打开窗口然后关闭它:
window.open('', '_self').close()
Angular方式(使用$ window):
$window.open('', '_self').close()
但这是一个漏洞利用,不应该在生产中使用,因为它可能会在未来版本的浏览器中修复。