【发布时间】:2014-07-07 05:08:26
【问题描述】:
我正在开发一个基于PhoneGap 3.5 和Angular.js 的项目。我尝试将 Angular New Window InAppBrowser 与以下控制器一起使用:
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);
}
但我不知道为什么下面的控制器不能在新窗口 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();
}
};
}
]);
【问题讨论】:
-
您是否可能没有在应用浏览器中加载 Angular 本身?你能提供更多信息吗?是否存在特定错误或者它只是没有做任何事情?它会替换文本等吗?
-
显示为空白,ajax 可以工作但无法加载模板
-
可能是Phonegap的问题,包含了哪个库?您如何在浏览器中测试应用程序?
标签: javascript angularjs cordova