使用窗口开启器为AngularJS中的函数

时间:2014-06-02 13:29:35

标签: javascript angularjs callback

我使用API​​将函数重定向到回调网址。然后我想在我的基本javascript中执行一个函数。只要我将函数保存在一个单独的,非角度的JS脚本中,我就可以使用window.opener来执行该函数。但是,当我尝试执行角度函数时,我只得到一个未定义的错误。

为清楚起见,有效

callbackpage.html:

window.opener.inviteCallback();

的index.html

<script>
        function inviteCallback() {
            console.log('Hey Im working')
        };
    </script>
... then onto some angular code

现在无效

callbackpage.html:

window.opener.$scope.inviteCallback();

controller.js

.controller('MainCTRL', function($scope) {
    var inviteCallback = function() {
            console.log('Hey Im working')
        };}

我使用Requests API使用facebook连接。

1 个答案:

答案 0 :(得分:9)

试试这个,将$ window添加为控制器的依赖。

    myApp.controller('MyCtrl', function($scope, $window){
        $window.inviteCallback = function() {
            alert('hi');
        }           
    });

使用

调用inivteCallback
window.opener.inviteCallback();