Ich versuche eine Sitzungsumleitung zu erstellen, wenn der Benutzer nicht angemeldet ist. Der Code funktioniert wie erwartet. Wenn ich jedoch auf die Konsole schaue, tritt ein Fehler auf (wie im Titel angegeben). Ich kann das anscheinend nicht beheben und brauche Hilfe.
var domainName = window.location.href;
var domainName = domainName.split("/");
var domainName = domainName[0] + "//" + domainName[2];
var app = angular.module("app", []);
app.run(run);
run.$inject = ["$window", "$rootScope", "$cookies"];
function run($window, $rootScope, $cookies){
// Runs everytime the URL changes
$rootScope.$on('$locationChangeStart', function(event, current, previous) {
// If the user is not logged-in and is not trying to access the register or log-in, It will go back to the log-in page
// if(!$cookies.get('user') && current != domainName+"/#/"){
if(current != domainName+"/#/"){
$window.location.href = domainName+"/#/";
// Create a scope that will remind the users regarding the session
// $rootScope.sessionError = "Please Enter Exam Code before taking the exam";
}
});
}
die Bedingung nicht mehr auslöst, kann ich wissen, warum Sie $ Lage über $ Fenster vorgeschlagen? –
Ich denke, es ist die eckige Art, so etwas zu tun, und "$ location" bietet einige nützliche Methoden. Das '$ window' ist nur ein Verweis auf ein window-Objekt, aber natürlich können Sie' $ window' ohne Probleme verwenden. Ich denke, es ist mehr wie eine Konvention. –
Oh ok, vielen Dank –