Is it possible not to push unnecessary state when clicking an <a> element?
Maintainer thường phản hồi trong vòng 8 ngày
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 45/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- javascript
Hướng nghiên cứu
Bắt đầu bằng cách xác định mã nguồn JavaScript chứa e.prototype.onchange và đọc cách xử lý click và popstate của nó. Tái hiện các trường hợp anchor/history được mô tả trong issue, sau đó xác minh rằng việc điều hướng đến cùng vị trí không làm gì cả và việc điều hướng đến URL trước đó trong lịch sử hoạt động như đề xuất.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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'
})
})
}
- Ngôn ngữ chính
- JavaScript
- Star
- 31.5k
- Fork
- 5.8k
- Merge trung bình
- 7 ngày 18 giờ
- Pull request đã merge (30 ngày)
- 9
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của docsifyjs/docsify
-
Query parameter values are truncated at a second equals signCó thể đã có người làm @xu91102 đã nhận 24 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 8 ngày
-
Bullet points beginning with inline math: subsequent text formatting not recognised correctlyĐang mởbug Triage
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 66/100
docsifyjs/docsify#2839 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 8 ngày
-
Cached AJAX responses lose status metadata exposed through vm.route.responseCó thể đã có người làm @xu91102 đã nhận 24 ngày trước. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 8 ngày
-
In the Edge browser, the character `{docsify-updated}` is not replacedCó thể làm lại được @AmanUllah687 đã nhận 77 ngày trước và không có pull request nào đang mở. Đang mởwait for information
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
docsifyjs/docsify#2681 · 11 bình luận ·
Maintainer thường phản hồi trong vòng 8 ngày
-
Nested/Recursive includesĐang mởfeature request Triage
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 38/100
docsifyjs/docsify#2643 · 5 bình luận ·
Maintainer thường phản hồi trong vòng 8 ngày
Tất cả issue của docsifyjs/docsify
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
andromarces/agent-loops#976 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
openstreetmap/iD#13019 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
[Blockly] historic state medianĐang mởbug main ui
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
openhab/openhab-webui#4600 ·
Maintainer thường phản hồi trong vòng 4 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
Maintainer thường phản hồi trong vòng 1 ngày