Tôi hiện đang ở trên một trang
www.example123.com/search?error=1
. Trên trang làm mới, trang nên được tải với URL sau.
www.example123.com/search
hoặc
www.example123.com/search?error=
Làm thế nào để làm điều này trong JS hoặc JQuery? Giải pháp nên hoạt động trong tất cả các trình duyệt chính.
Hỏi ngày 28 tháng 9 năm 2014 lúc 13:57Sep 28, 2014 at 13:57
8
Tôi đã làm điều đó bằng cách sử dụng sự kiện dỡ hàng. Sự kiện này sẽ được gọi khi một trang được làm mới.
$[window].unload[function[] {
var currentURL = window.location.href;
var index = currentURL.indexOf["?error="];
if[index > -1] {
window.location.href = currentURL.substring[0, index];
}
}];
Sau đó, trang sẽ được làm mới với URL mới.
Hãy cho tôi biết nếu điều này sẽ không hoạt động trong mọi trường hợp.
Lưu ý: Nó không hoạt động trong Chrome. Làm thế nào để làm cho nó hoạt động trong Chrome?
Đã trả lời ngày 28 tháng 9 năm 2014 lúc 14:48Sep 28, 2014 at 14:48
SaravanansaravananSaravanan
5841 Huy hiệu vàng7 Huy hiệu bạc19 Huy hiệu đồng1 gold badge7 silver badges19 bronze badges
Bạn có thể phát hiện nếu trang đã được làm mới với cookie, và sau đó làm một cái gì đó như sau:
if[refresh==1]{
if[window.location.href=='//www.example123.com/search?error=1']{
window.location.replace = "//www.example123.com/search";
}
}
Đã trả lời ngày 28 tháng 9 năm 2014 lúc 14:14Sep 28, 2014 at 14:14
ArtipixelartipixelArtipixel
1.22613 Huy hiệu bạc17 Huy hiệu đồng13 silver badges17 bronze badges
Đối tượng vị trí JavaScript
Vị trí cheatsheet.Bạn có thể sử dụng thuộc tính
location.href = "new url";// or we can use location.assign["new url"];1 để truy cập URL của trang hiện tại.
Nếu bạn muốn truy cập một trang mới, bạn có thể thay đổi thuộc tính
location.href = "new url";// or we can use location.assign["new url"];2 của đối tượng
location.href = "new url";// or we can use location.assign["new url"];3 hoặc gọi phương thức
location.href = "new url";// or we can use location.assign["new url"];4 bằng URL mới làm đối số.
location.href = "new url";// or we can use location.assign["new url"];
Để chuyển hướng mà không cần lưu trữ trong lịch sử:
location.replace["new url"];
Để tải lại trang:
window.location.reload[]
Lực lượng làm mới
Chúng ta có thể vượt qua
location.href = "new url";// or we can use location.assign["new url"];5 để buộc trang được tải lại đến từ máy chủ [thay vì bộ đệm]. Ngoài ra, chúng tôi có thể sử dụng
location.href = "new url";// or we can use location.assign["new url"];6 để tải lại trang từ bộ đệm.
//from cache
window.location.reload[];
window.location.reload[false];// from server
window.location.reload[true];
Thuộc tính của đối tượng vị trí
1. href
Chứa toàn bộ URL của trang.
location.href; // current page url addresss
Khi chúng tôi gán một giá trị mới cho thuộc tính, nó sẽ chuyển hướng giá trị
location.href = "new url";// or we can use location.assign["new url"];7 được đặt cho thuộc tính.
location.href = "//google.com";
Đảm bảo thêm HTTP/HTTPS. Nếu không, nó thực hiện yêu cầu trên cùng một trang.
2. Giao thức
Chứa giao thức [
location.href = "new url";// or we can use location.assign["new url"];8] của trang.
location.protocol; //
3. Máy chủ
Tên máy chủ trang web với số cổng.
location.host; // medium.com // with port number var anchor = document.createElement["a"];
anchor.href = "//medium.com:4097
anchor.host // "medium:4097"
4. Tên máy chủ
Tên máy chủ trang web.
if[refresh==1]{
if[window.location.href=='//www.example123.com/search?error=1']{
window.location.replace = "//www.example123.com/search";
}
}
05. Cổng
Chứa số cổng. Nếu URL không chứa số cổng rõ ràng, nó sẽ được đặt thành
location.href = "new url";// or we can use location.assign["new url"];9.
if[refresh==1]{
if[window.location.href=='//www.example123.com/search?error=1']{
window.location.replace = "//www.example123.com/search";
}
}
16. Tên đường dẫn
Chứa đường dẫn sau tên máy chủ.
if[refresh==1]{
if[window.location.href=='//www.example123.com/search?error=1']{
window.location.replace = "//www.example123.com/search";
}
}
27. Tìm kiếm
Trả về phần tìm kiếm của URL.
if[refresh==1]{
if[window.location.href=='//www.example123.com/search?error=1']{
window.location.replace = "//www.example123.com/search";
}
}
38. Hash
Chứa chuỗi
location.replace["new url"];
0 theo sau là định danh đoạn của URL. Điều này sẽ hữu ích khi chúng tôi có các liên kết bên trong cùng một trang.Ví dụ từ MDN Web Docs:
if[refresh==1]{
if[window.location.href=='//www.example123.com/search?error=1']{
window.location.replace = "//www.example123.com/search";
}
}
49. Nguồn gốc
Nguồn gốc của vị trí cụ thể.
if[refresh==1]{
if[window.location.href=='//www.example123.com/search?error=1']{
window.location.replace = "//www.example123.com/search";
}
}
5Phương pháp
1. Chuyển nhượng
Tải tài nguyên tại URL được cung cấp trong tham số.
if[refresh==1]{
if[window.location.href=='//www.example123.com/search?error=1']{
window.location.replace = "//www.example123.com/search";
}
}
6Điều này sẽ chuyển hướng đến
location.replace["new url"];
1.2. Tải lại
Phương thức
location.replace["new url"];
2 Tải lại URL hiện tại, như nút Làm mới.if[refresh==1]{
if[window.location.href=='//www.example123.com/search?error=1']{
window.location.replace = "//www.example123.com/search";
}
}
7Nó có một tham số tùy chọn
location.replace["new url"];
3, mặc định là location.href = "new url";// or we can use location.assign["new url"];6 khi
location.replace["new url"];
3 là location.href = "new url";// or we can use location.assign["new url"];5. Sau đó, nó tải trang từ máy chủ, thay vì tải từ bộ đệm trình duyệt., which defaults to
location.href = "new url";// or we can use location.assign["new url"];6 when
location.replace["new url"];
3 is location.href = "new url";// or we can use location.assign["new url"];5. Then it loads the page from the server, instead of loading from the browser cache.
if[refresh==1]{
if[window.location.href=='//www.example123.com/search?error=1']{
window.location.replace = "//www.example123.com/search";
}
}
83. Thay thế
Thay thế tài nguyên hiện tại với công cụ tại URL được cung cấp.
if[refresh==1]{
if[window.location.href=='//www.example123.com/search?error=1']{
window.location.replace = "//www.example123.com/search";
}
}
9Sự khác biệt so với phương thức
location.replace["new url"];
7 là sau khi sử dụng location.replace["new url"];
8, trang hiện tại sẽ không được lưu trong phiên location.replace["new url"];
9, có nghĩa là người dùng sẽ không thể sử dụng nút quay lại để điều hướng đến nó.4. ToString
Trả về toàn bộ URL dưới dạng chuỗi.
location.href = "new url";// or we can use location.assign["new url"];0
Tham khảo: Tài liệu web MDN.
Theo JavaScript Jeep🚙💨