Is it possible not to push unnecessary state when clicking an <a> element?
Les mainteneurs répondent en général sous 2 jours
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 45/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- javascript
Piste de recherche
Commencez par localiser le code source JavaScript contenant e.prototype.onchange et lisez sa gestion de click et de popstate. Reproduisez les cas d’ancre/historique décrits dans l’issue, puis vérifiez qu’une navigation vers le même emplacement ne fait rien et qu’une navigation vers l’URL d’historique précédente se comporte comme proposé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Feature request
Problem or desire
I click an element which has the href just like the location.href when setting routerMode to "history", and then it pushes a new state which is not necessary.
It might be better to use history.back() than history.pushState() when clicking an element which has the href just like the location.href of the previous page in session history.
Proposal
Do nothing when clicking an element which has the href just like the location.href.
Use history.back() when clicking an element which has the href just like the location.href of the previous page in session history.
Implementation
Just change the onchange function to something like this:
e.prototype.onchange = function (i) {
void 0 === i &&
(i = d),
p(
'click',
function (e) {
var n = 'A' === e.target.tagName ? e.target : e.target.parentNode;
n &&
'A' === n.tagName &&
!g(n.href) &&
(
e.preventDefault(),
n = n.href,
n === location.href ? 1 : //Add
n === hrefPre ? window.history.back() : //Add(hrefPre is used to record the href before)
window.history.pushState({
key: n
}, '', n),
i({
event: e,
source: 'navigate'
})
)
}
),
p('popstate', function (e) {
i({
event: e,
source: 'history'
})
})
}
- Langage dominant
- JavaScript
- Étoiles
- 31.5k
- Forks
- 5.8k
- Merge moyen
- 2 j 14 h
- PR mergées (30 j)
- 5
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de docsifyjs/docsify
-
Query parameter values are truncated at a second equals signPeut-être pris @xu91102 l’a pris il y a 23 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 2 jours
-
Bullet points beginning with inline math: subsequent text formatting not recognised correctlyOuvertebug Triage
Difficulté 3/5 1-2 jours Accessibilité débutants 66/100
Les mainteneurs répondent en général sous 2 jours
-
Cached AJAX responses lose status metadata exposed through vm.route.responsePeut-être pris @xu91102 l’a pris il y a 23 jours. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 2 jours
-
In the Edge browser, the character `{docsify-updated}` is not replacedPeut-être à nouveau libre @AmanUllah687 l’a pris il y a 76 jours, et aucune pull request n’est ouverte. Ouvertewait for information
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
docsifyjs/docsify#2681 · 11 commentaires ·
Les mainteneurs répondent en général sous 2 jours
-
Nested/Recursive includesOuvertefeature request Triage
Difficulté 4/5 3-5 jours Accessibilité débutants 38/100
docsifyjs/docsify#2643 · 5 commentaires ·
Les mainteneurs répondent en général sous 2 jours
Toutes les issues de docsifyjs/docsify
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 67/100
taskcluster/taskcluster#9284 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Xvesa 24bbp incorrect info?Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Spomky-Labs/pwa-bundle#476 ·
-
[feart] 支持 MiMo 类型模型的关闭思考识别Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
speced/respec#5504 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour