2016-03-02 2 views
0

Ceci est mon URL: DOMAIN-NOM/# ville = 13 & pc = 13 & voiture = 18,26 + 2,97événement déclencheur sur le navigateur en arrière et de rafraîchissement de la force ou recharger la page avec une nouvelle URL

Maintenant, quand utilisateur clique navigateur en arrière, le paramètre de chaîne de requête obtient supprimé un par un, comme:

navigateur premier retour: DOMAIN-NOM/# ville = 13 & pc = 13 & voiture = 18,26

navigateur Deuxième retour: DOMAIN -N/A ME/# ville = 13 & pc = 13

navigateur Troisième retour: -NOM DE DOMAINE/# ville = 13

Le problème est que le navigateur vers la page ne rechargeait.

J'ai lu à propos de hashchange, pushstate mais je suis incapable de trouver la bonne façon de recharger la page sur le navigateur? Je l'ai essayé: var hash;

$(window).on('hashchange', function() { 
    if (hash != window.location.hash) { 
     alert('hash change called'); 
     //window.location.reload(true); 
    } 
    hash = window.location.hash; 
}); 

Ceci recharge régulièrement ma page lorsque je la rafraîchis.

+1

https: // développeur. mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onhashchange Avez-vous essayé cet exemple de code? – epascarello

+0

@epascarello vous a donné une bonne réponse. Essayez-le et publiez votre code si vous avez toujours un problème. – Roberto

+0

Je suis nouveau à javascript, incapable de comprendre clairement le code. Ce que je comprends est, je dois placer: mais son appel de nulle part. Toute aide comment je fais ça. – maverick

Répondre

0

Ce dont vous avez besoin est 'windows.location', il vous permet de vérifier l'adresse URL actuelle et d'en affecter une nouvelle ou une nouvelle à recharger dans ce cas. JavaScript Window Location

vous pourriez faire quelque chose comme:

function reload(){ 
    window.location.assign(window.location.href); 
} 

lorsque vous détectez la navigation ... pourrait être le code HTML onbeforeunload Event Attribute ou quelque chose comme ça ...

<body onbeforeunload="return reload()"> 
+0

Je ne pense pas. Ça ne fonctionne pas. Le clic précédent est choisi dans le cache du navigateur. Donc je doute qu'un tel événement soit exécuté. Pouvez-vous me dire quel autre événement je peux essayer, si vous avez une idée? – maverick

+0

peut-être le [onload Event] (http://www.w3schools.com/jsref/event_onload.asp) ou en chéquant le [History Object] (http://www.w3schools.com/jsref/obj_history.asp) et en comparant J'ai utilisé une variable qui devrait stocker le 'window.location.href' sauvé quand l'événement onload se déclenche ... J'ai utilisé ceux pour contrôler la navigation à travers et à l'extérieur d'un site, pour créer des comportements personnalisés, mais je ne trouve pas le code... –