在图像上的新选项卡中打开链接单击角度而不弹出窗口阻止程序

时间:2015-07-20 02:17:35

标签: javascript html angularjs

我已经设置了点击我网页上的图片。在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标签。我有任何选项可以避免弹出窗口阻止程序吗?

1 个答案:

答案 0 :(得分:0)

将ajax调用移动到用户与页面交互的早期点是解决此问题的方法。