Ich habe dieses Problem, dass ich nicht herausfinden kann, was passiert: Ich benutze Angular und es ist Routing-Mechanismus.Neu laden der Seite auf FF nicht ändern Seite
so habe ich eine url:
<a href="#/videos/detail/{{video.Id}}" onclick="location.reload();">
<div class="card-image">
<img ng-src="{{video.ThumbnailUrl?video.ThumbnailUrl:'img/images.png'}}" src="" />
</div>
</a>
Wie Sie ein onclick="location.reload();
es funktioniert dies auf Chrome und IE9 sehen können. Aber auf FF es tut folgendes:
- Klicken Sie auf den Link
- Die aktualisierte URL get
- The location.reload() bekommen die eine so genannte Seite aktualisiert wird
- Die URL und Winkelansicht, go zurück auf die Seite, wo der Link
- Beim Drücken ‚F5‘ die aktuelle Seite und die uRL geklickt wird geladen werden in
ich habe auch versuchttunfür wenn vielleicht die Route im Cache war oder so, aber kein Glück.
Falls Sie sich fragen, warum die Aktualisierung und Speicherort: Ich muss die Seite für ein Plugin neu laden (wegen eines Fehlers in es) und diese Methode war das erste, was ich mir vorstellen konnte.
EDIT: Schließlich durch eine Kombination von Angular und einige Jquery getan;
So sah das endgültige HTML so aus;
<a href="#" class="prevent" ng-click="redirectwithreload('# />videos/detail/'+video.Id)" >
<div class="card-image">
<img ng-src="{{video.ThumbnailUrl?video.ThumbnailUrl:'img/images.png'}}" src="" />
</div>
</a>
Die Richtlinie sah aus wie dieses
.directive('videoCard', function() {
return {
restrict: 'E',
templateUrl: 'partials/directives/video-card.html',
controller: function ($scope, $element, $location) {
$scope.redirectWithReload = function (url) {
var toUrl = location.href.split('#')[0] + url;
location.replace(toUrl);
}
},
compile: function() {
return {
post: function() {
$('a.prevent').click(function (e) {
e.preventDefault();
});
}
}
}
};
})
die Klasse prevent
nur war für meine Jquery Standard zu verhindern und ging für ein ng Sie auf, wegen, wenn ich jemals zu brauchen, um mehr Vars hinzufügen die URL, es ist jetzt sehr einfach zu tun :)
Vielen Dank für die Hilfe! insbesondere: @mplungjan
Was es tun soll? Die # ist ein Anker. Das Skript auf der Seite sollte darauf reagieren. Ich kann nicht sehen, wofür location.reload verwendet wird. versuchen, es zu entfernen – mplungjan
@mplungjan: Umleiten und dann aktualisieren – Kiwi
Bitte lesen Sie meine geänderten Kommentar – mplungjan