我已经设置了点击我网页上的图片。在ng-click处理程序中,我使用
ServiceData.getProductDetails(product).then(function(data) {
$scope.url = data;
var win = window.open($scope.url, '_blank');
win.focus();
});
getProductDetails: function(product) {
var promiseProductDetails;
if (productDetailsArr[product.id] == undefined) {
var ajaxUrl = productsByIDarray[product.id]['detailsview'];
try {
// $http returns a promise, which has a then function, which also returns a promise
promiseProductDetails = $http.get(ajaxUrl).then(function(response) {
return response;
});
} catch(err) {
}
// Return the promise to the controller
return promiseProductDetails;
} else {
var deferred = $q.defer();
deferred.resolve(productDetailsArr[product.id][url]);
return deferred.promise;
}
}
因此,click启动ajax调用以获取用户应该去的URL(目标url是动态的)。我使用角度承诺将ajax调用作为同步。这导致Web浏览器将其视为不可信并阻止弹出窗口。我不想在html中附加带锚标签的img标签。我有任何选项可以避免弹出窗口阻止程序吗?
答案 0 :(得分:0)
将ajax调用移动到用户与页面交互的早期点是解决此问题的方法。