javascript - 手机间隙 : Angular Controller does not work in new window

标签 javascript angularjs cordova

我正在开发一个基于 PhoneGap 3.5Angular.js 的项目。我尝试将 Angular New Window InAppBrowser 与以下 Controller 一起使用:

var gWindow;
window.loadWindow = function(website) {
    gWindow = window.open(website, '_blank', 'location=no');
    gWindow.addEventListener('loadstart', function(event) { 
        //alert('start: ' + event.url); 
    });
    gWindow.addEventListener('loadstop', fLoadStop);
    gWindow.addEventListener('loaderror', function(event) { 
        //alert('error: ' + event.message); 
    });
    gWindow.addEventListener('exit', fExit);
}
window.fLoadStop = function(event) {
    var url = event.url;
    var filename = url.substring(url.lastIndexOf('/')+1);
    if(filename == "closeinappbrowser.html"){
        gWindow.close();
    }
}
window.fExit = function(event) {
    gWindow.removeEventListener('loadstop', fLoadStop);
    gWindow.removeEventListener('exit', fExit);
}

但我不知道为什么下面的 Controller 不能在新窗口 appbrowser 中工作,但在 dekstop 浏览器中工作

newsappblank = angular.module("newsappblank", ["ngRoute", "newsControllersblank", "newsServices", "ngSanitize", "ui.bootstrap", "slugifier", "bn-lazy"]);

newsappblank.config([
    "$routeProvider", function($routeProvider) {
      return $routeProvider.when("/news/:newsId", {
        templateUrl: "partials/news-detail.html",
        controller: "NewsDetailCtrl"
      }).otherwise({
        redirectTo: "../closeinappbrowser.html"
      });
    }
  ]);

newsControllersblank = angular.module("newsControllersblank", []);
    newsControllersblank.controller("NewsDetailCtrl", [
        "$scope", "$rootScope", "$location", "$anchorScroll", "$http", "$routeParams", function($scope, $rootScope, $location, $anchorScroll, $http, $routeParams) {
          $rootScope.middlebar = true;
          $rootScope.loadbar = false;
          alert(1);
          return $scope.go = function(path) {
            if (path !== '/news/') {
              $location.path(path);
              $location.hash("top");
              return $anchorScroll();
            }
          };
        }
      ]);

最佳答案

我遇到了问题,Phonegap Inapp Browser Not Support Jquery Load to Load Angular Template,所以解决方案是我将 html 模板写入变量并调用它。

关于javascript - 手机间隙 : Angular Controller does not work in new window,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24603371/

相关文章:

javascript - 自定义 AngularJS 过滤器忽略我的参数并接收其他一些scope.data

javascript - 将 ng-click 值传递给一个 Controller 并在另一个 Controller 中使用它

android - 为什么 $cordova ImagePicker 插件在 Marshmallow 上崩溃?

javascript - 如何在 es6 javascript 类中使用 async/await?

javascript - 导航链接不起作用

javascript - 在 Angularjs 中使用 pdfMake 从 HTML 生成 PDF

cordova - 使用 phonegap 的 Meteor 移动应用程序

ios - phonegap iOS 旋转

javascript - 自 4.5 版起,ANTLR 无法生成 Javascript 代码

javascript - 是否可以修改 Google Maps V3 中的缩放过渡?