1
我在我的angularjs网站上有一个twitter认证。我想到的问题是,当我按下“使用twitter登录”时,弹出窗口会显示Twitter内容,但弹出窗口会被阻止。浏览谷歌没有给出任何有用的结果。这里是一些我的代码:Twitter登录弹出窗口被阻止
HTML:
<a ng-show="!user.twitterUserLogged" ng-click="TwitterLogIn()" ... >
<i class="fa fa-twitter-square"></i></a>
控制器:
$scope.TwitterLogIn = function() {
if(!$scope.user.twitterUserLogged){
TwitterTweetManager.getToken().then(function(token) {
$scope.user.TwitterToken = token;
var url = 'https://api.twitter.com/oauth/authenticate?oauth_token=',
params = 'location=0,status=0,width=800,height=600';
var twitter_window = window.open(url + $scope.user.TwitterToken.oauth_token,"twitter_window",params);
//if (twitter_window) {
var interval = window.setInterval(function() {
if (twitter_window.closed) {
window.clearInterval(interval);
$scope.TwitterLoginFinish();
}
}, 1000);
//}
});
}
};
谢谢!
找到一些关于window.open()函数的信息。是的,弹出式窗口拦截器仅允许onClick事件?因为在我的情况下,我有ng-click。这可能是问题的核心吗?