InAppBrowser传递一个回调函数

时间:2015-12-08 08:05:01

标签: angularjs cordova cordova-plugins inappbrowser

我的InAppBrowser在我的应用中运行良好

    System.setProperty("webdriver.firefox.bin", "C:\\path\\to\\Mozilla Firefox\\firefox.exe");

这是为刷新页面而编写的指令

$scope.openInAppBrowser = function (url) {
        var ref = window.open(encodeURI(url), '_blank', 'location=yes');
        ref.addEventListener('loadstop', function (event) {
            if (event.url.match("close")) {
                $scope.refreshGamePage = 1; // this variable is under watch in a directive
                ref.close();
            }           
        });
    }

但似乎loadstop事件监听器无法更新范围变量。 任何人都可以帮我这个吗?

基本上我想在InAppBrowser关闭后立即刷新当前页面(InAppBrowser打开的页面)。

任何更好的方法来实现这一点将不胜感激。

1 个答案:

答案 0 :(得分:2)

  

只需使用angular $ apply()方法更改angular的值即可   变量,因为它改变了angularjs转。

$scope.openInAppBrowser = function (url) {
        var ref = window.open(encodeURI(url), '_blank', 'location=yes');
        ref.addEventListener('loadstop', function (event) {
            if (event.url.match("close")) {
                $scope.$apply(function () {
                $scope.refreshGamePage = 1;
              });
                ref.close();
            }           
        });
    }