6
votes

Top.Location.replace crée l'élément d'historique dans Safari / Chrome

À ce stade, nous avons une photogalerie qui utilise des hashvalues ​​pour déterminer quelle image est actuellement affichée à l'utilisateur et à soutenir l'envoi de la page à un ami et tel. Quelque chose comme:

http: // url / photos / # photo-4 p>

Lorsque nous avons chargé l'image correspondante après avoir cliqué sur la touche suivante ou précédente, nous modifions l'URL en fonction de la spécification JS 1.1 à l'aide de: P>

top.location.replace(url.url + hash);


0 commentaires

3 Réponses :


0
votes

Avez-vous regardé l'affectation de votre hachage en utilisant window.location.hash = newhash au lieu de remplacer toute l'URL?

https://developer.mozilla.org/fr/dom/window.location.location


2 commentaires

Oui "Remplacer (URL) Remplacez le document actuel par celui de l'URL fourni. La différence de la méthode ASSIGN () est qu'après utilisation de remplacement (), la page en cours ne sera pas enregistrée dans l'historique de session, ce qui signifie que l'utilisateur ne sera pas enregistré. être capable d'utiliser le bouton arrière pour le naviguer. " Et là, j'ai eu mon bogue, car cela ne fonctionne pas dans WebKit.


Emplacement.Hash crée des objets d'historique dans tout le navigateur majeur en dehors de IE, de sorte que cela ne fonctionnera pas :-)



3
votes

Il semble n'y avoir aucune solution à ce stade.


1 commentaires

Juste pour le dossier, c'est toujours un problème ennuyeux 2 ans plus tard ... WebKit BugFixes sont un peu lents.



3
votes

Cela fonctionne comme prévu maintenant:

sur Safari [5.1.7] emplacement.replace.replace () fonctionne comme prévu - L'URL est remplacée, rien n'est ajouté à la file d'attente du bouton arrière et rien n'est ajouté au menu Historique. < / p>

sur chrome [21.0.1180.82] emplacement.replace () est un peu délicat - l'URL est remplacée et rien n'est ajouté à la file d'attente du bouton arrière, mais il a ajouté un article au menu Historique .


Qu'est-ce qui rend ce problème est qu'il existe deux files d'antécédents distinctes - le menu Historique et les boutons arrière / avancés. Cliquez et maintenez enfoncé sur les boutons arrière et avant pour voir leur file d'attente et comparer avec le menu Historique.

Et la file d'attente d'historique des boutons Retour / Forward est liée à l'onglet Actif. En outre, l'historique des boutons reste même lorsque vous effacez le menu Historique - au moins jusqu'à la fermeture de l'onglet.


0 commentaires